<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	 
	 <meta name="description" content="XDMF parallel partitioned mesh I/O on top of HDF5">
    
    <meta name="author" content="Víctor Sande Veiga" >
    <link rel="icon" href="../favicon.png">

    <title>xh5for_handler.f90 &ndash; XH5For</title>

    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/pygments.css" rel="stylesheet">
    <link href="../css/font-awesome.min.css" rel="stylesheet">
    <link href="../css/local.css" rel="stylesheet">
    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    
    <script src="../js/jquery-2.1.3.min.js"></script>
    <script src="../js/svg-pan-zoom.min.js"></script>

  </head>

  <body>

    <!-- Fixed navbar -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="../index.html">XH5For </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
				
            <li class="dropdown hidden-xs visible-sm visible-md hidden-lg">
              <a href="#" class="dropdown-toggle"
              data-toggle="dropdown" role="button"
              aria-haspopup="true"
		 aria-expanded="false">Contents <span class="caret"></span></a>
	      <ul class="dropdown-menu">
              
            <li><a href="../lists/files.html">Source Files</a></li>
				
				
            <li><a href="../lists/modules.html">Modules</a></li>
				
            
                                
            <li><a href="../lists/procedures.html">Procedures</a></li>
				
								
            <li><a href="../lists/types.html">Derived Types</a></li>
				
				
            <li><a href="../lists/programs.html">Programs</a></li>
				
            </ul>
            </li>

<li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li>



<li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li>

                             
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/types.html">Derived Types</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/programs.html">Programs</a></li>

          </ul>
        
        <form action="../search.html" class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required>
        </div>
<!--
        <button type="submit" class="btn btn-default">Submit</button>
-->
        </form>
        
        </div><!--/.nav-collapse -->
      </div>
    </nav>

    <div class="container">
    
  
  <div class="row">
    <h1>xh5for_handler.f90
    <small>Source File</small>
    
    </h1>
    
<div class="row">
  <div class="col-lg-12">
<div class="well well-sm">
  <ul class="list-inline" style="margin-bottom:0px;display:inline">
     
     
     
     
    
    
     <li><i class="fa fa-list-ol"></i>
       <a data-toggle="tooltip"
	  data-placement="bottom" data-html="true"
	  title=" 6.0% of total for source files.">790 statements</a>
     </li> 
     
     
    <li><i class="fa fa-code"></i><a href="../src/xh5for_handler.f90"> Source File</a></li>
     
  </ul>
  <ol class="breadcrumb in-well text-right">
  
     <li class="active">xh5for_handler.f90</li>
  </ol>
</div>
</div>
</div>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
  })
</script>

  </div>
  <div class="row">
    <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg">
    
<div id="sidebar">
  






<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#mods-0">Modules</a></h3></div>
  <div id="mods-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/xh5for_handler.html">xh5for_handler</a>
      
      <a class="list-group-item" href="../module/xh5for.html">xh5for</a>
      
    </div>
  </div>
</div>















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html#src">xh5for_handler.f90</a>
  </div>
</div>


  <hr>
  

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-0">All Source Files</a></h3></div>
  <div id="allfiles-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


</div>  

    </div>
    <div class="col-md-9" id='text'>
    
    
    <h3>This File Depends On</h3>
    
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: sourcefile~~xh5for_handler.f90~~EfferentGraph Pages: 1 -->
<svg id="sourcefilexh5for_handlerf90EfferentGraph" width="641pt" height="824pt"
 viewBox="0.00 0.00 641.00 823.77" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph" class="graph" transform="scale(0.302074 0.302074) rotate(0) translate(4 2723.06)">
<title>sourcefile~~xh5for_handler.f90~~EfferentGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-2723.06 2118,-2723.06 2118,4 -4,4"/>
<!-- sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node1" class="node"><title>sourcefile~xh5for_handler.f90</title>
<polygon fill="none" stroke="black" points="2114,-1186.84 2011,-1186.84 2011,-1162.84 2114,-1162.84 2114,-1186.84"/>
<text text-anchor="middle" x="2062.5" y="-1172.44" font-family="Helvetica,sans-Serif" font-size="10.50">xh5for_handler.f90</text>
</g>
<!-- sourcefile~xh5for_parameters.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node2" class="node"><title>sourcefile~xh5for_parameters.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node2"><a xlink:href="../sourcefile/xh5for_parameters.f90.html" xlink:title="xh5for_parameters.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="272,-1067.84 151,-1067.84 151,-1043.84 272,-1043.84 272,-1067.84"/>
<text text-anchor="middle" x="211.5" y="-1053.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_parameters.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge184" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M213.781,-1043.37C222.081,-965.49 271.124,-547.206 373,-484.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-484.84C488.9,-415.113 380.391,-295.081 476,-201.84 548.815,-130.829 594.688,-147.806 696,-138.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-138.84C748.299,-129.005 755.197,-107.94 805,-95.84 955.969,-59.1623 997.742,-68.4783 1153,-62.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-62.84C1336.95,-49.1399 1411.1,56.1673 1565,-41.84 1701.94,-129.043 1611.98,-251.202 1719.5,-372.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1721.5,-372.84C1756.8,-412.827 1801.73,-354.684 1840,-391.84 1983.81,-531.466 1802.19,-676.046 1924.5,-834.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1926.5,-834.84C2006.25,-938.379 2045.02,-1095.15 2057.16,-1152.68"/>
<polygon fill="#000000" stroke="#000000" points="2053.8,-1153.72 2059.24,-1162.81 2060.66,-1152.31 2053.8,-1153.72"/>
</g>
<!-- sourcefile~steps_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node3" class="node"><title>sourcefile~steps_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node3"><a xlink:href="../sourcefile/steps_handler.f90.html" xlink:title="steps_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="746,-1418.84 648,-1418.84 648,-1394.84 746,-1394.84 746,-1418.84"/>
<text text-anchor="middle" x="697" y="-1404.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">steps_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~steps_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge2" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~steps_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-1035.84C405.05,-1037.54 413.779,-1040.06 440,-1054.84 458.909,-1065.5 457.527,-1076.44 476,-1087.84 521.733,-1116.05 550.885,-1092.96 589,-1130.84 662.524,-1203.91 686.613,-1333.17 693.524,-1384.72"/>
<polygon fill="#000000" stroke="#000000" points="690.066,-1385.27 694.781,-1394.76 697.011,-1384.4 690.066,-1385.27"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node4" class="node"><title>sourcefile~spatial_grid_descriptor.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node4"><a xlink:href="../sourcefile/spatial_grid_descriptor.f90.html" xlink:title="spatial_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="766.5,-990.84 627.5,-990.84 627.5,-966.84 766.5,-966.84 766.5,-990.84"/>
<text text-anchor="middle" x="697" y="-976.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">spatial_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge6" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-959.84C546.188,-970.956 582.083,-975.847 616.919,-977.897"/>
<polygon fill="#000000" stroke="#000000" points="617.014,-981.406 627.181,-978.424 617.374,-974.415 617.014,-981.406"/>
</g>
<!-- sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node5" class="node"><title>sourcefile~hdf5_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node5"><a xlink:href="../sourcefile/hdf5_handler.f90.html" xlink:title="hdf5_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="957,-1418.84 863,-1418.84 863,-1394.84 957,-1394.84 957,-1418.84"/>
<text text-anchor="middle" x="910" y="-1404.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge13" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-959.84C621.252,-1038.24 701.35,-984.556 769,-1080.84 840.624,-1182.78 731.24,-1258.43 805,-1358.84 816.78,-1374.88 835.239,-1385.71 853.357,-1392.96"/>
<polygon fill="#000000" stroke="#000000" points="852.17,-1396.25 862.763,-1396.43 854.594,-1389.68 852.17,-1396.25"/>
</g>
<!-- sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node7" class="node"><title>sourcefile~xdmf_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node7"><a xlink:href="../sourcefile/xdmf_handler.f90.html" xlink:title="xdmf_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="958,-1752.84 862,-1752.84 862,-1728.84 958,-1728.84 958,-1752.84"/>
<text text-anchor="middle" x="910" y="-1738.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge47" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M269.52,-1043.8C300.109,-1038.59 338.508,-1034.05 373,-1035.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-1035.84C464.222,-1040.48 712.534,-1046.6 769,-1115.84 820.093,-1178.49 785.953,-1399.27 805,-1477.84 827.645,-1571.25 876.468,-1675.58 898.193,-1719.52"/>
<polygon fill="#000000" stroke="#000000" points="895.155,-1721.27 902.752,-1728.65 901.418,-1718.14 895.155,-1721.27"/>
</g>
<!-- sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node8" class="node"><title>sourcefile~xh5for_utils.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node8"><a xlink:href="../sourcefile/xh5for_utils.f90.html" xlink:title="xh5for_utils.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="416.5,-1087.84 331.5,-1087.84 331.5,-1063.84 416.5,-1063.84 416.5,-1087.84"/>
<text text-anchor="middle" x="374" y="-1073.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_utils.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge52" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M272.264,-1063.29C288.349,-1065.29 305.61,-1067.44 321.22,-1069.39"/>
<polygon fill="#000000" stroke="#000000" points="320.854,-1072.87 331.21,-1070.63 321.72,-1065.92 320.854,-1072.87"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node10" class="node"><title>sourcefile~uniform_grid_descriptor.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node10"><a xlink:href="../sourcefile/uniform_grid_descriptor.f90.html" xlink:title="uniform_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="769,-878.84 625,-878.84 625,-854.84 769,-854.84 769,-878.84"/>
<text text-anchor="middle" x="697" y="-864.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">uniform_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge57" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-522.84C594.784,-558.05 667.17,-774.805 689.266,-844.957"/>
<polygon fill="#000000" stroke="#000000" points="685.942,-846.054 692.263,-854.557 692.624,-843.968 685.942,-846.054"/>
</g>
<!-- sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node11" class="node"><title>sourcefile~xh5for_factory.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node11"><a xlink:href="../sourcefile/xh5for_factory.f90.html" xlink:title="xh5for_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1975,-1186.84 1876,-1186.84 1876,-1162.84 1975,-1162.84 1975,-1186.84"/>
<text text-anchor="middle" x="1925.5" y="-1172.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge178" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2624.84C880.631,-2729.74 1552.83,-2480.18 1565,-2468.84 1599.97,-2436.27 1828.18,-1700.14 1840,-1653.84 1884.23,-1480.62 1913.1,-1266.3 1921.76,-1197.33"/>
<polygon fill="#000000" stroke="#000000" points="1925.26,-1197.55 1923.02,-1187.2 1918.31,-1196.69 1925.26,-1197.55"/>
</g>
<!-- sourcefile~xh5for_metadata.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node13" class="node"><title>sourcefile~xh5for_metadata.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node13"><a xlink:href="../sourcefile/xh5for_metadata.f90.html" xlink:title="xh5for_metadata.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="588.5,-763.84 476.5,-763.84 476.5,-739.84 588.5,-739.84 588.5,-763.84"/>
<text text-anchor="middle" x="532.5" y="-749.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_metadata.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_metadata.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge4" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_metadata.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-484.84C471.499,-420.445 516.547,-654.608 528.288,-729.516"/>
<polygon fill="#000000" stroke="#000000" points="524.878,-730.368 529.836,-739.731 531.799,-729.32 524.878,-730.368"/>
</g>
<!-- sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node32" class="node"><title>sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node32"><a xlink:href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_unstructured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1564,-616.84 1294,-616.84 1294,-592.84 1564,-592.84 1564,-616.84"/>
<text text-anchor="middle" x="1429" y="-602.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_unstructured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge63" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-484.84C472.614,-421.926 510.13,-425.914 625,-408.84 688.304,-399.43 705.363,-402.036 769,-408.84 896.505,-422.473 924.978,-446.134 1051,-469.84 1142.12,-486.981 1169.85,-471.19 1257,-502.84 1272.12,-508.332 1355.69,-559.782 1400.15,-587.44"/>
<polygon fill="#000000" stroke="#000000" points="1398.41,-590.479 1408.75,-592.795 1402.11,-584.537 1398.41,-590.479"/>
</g>
<!-- sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node33" class="node"><title>sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node33"><a xlink:href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html" xlink:title="xdmf_unstructured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1565,-1226.84 1293,-1226.84 1293,-1202.84 1565,-1202.84 1565,-1226.84"/>
<text text-anchor="middle" x="1429" y="-1212.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_unstructured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge76" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-522.84C596.122,-558.819 624.104,-529.697 696,-522.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-522.84C746.422,-518.222 756.631,-504.98 805,-499.84 897.811,-489.978 922.966,-484.321 1015,-499.84 1127.27,-518.77 1188.27,-493.072 1257,-583.84 1338.3,-691.216 1204.19,-1087.58 1293,-1188.84 1295.59,-1191.8 1298.41,-1194.48 1301.41,-1196.91"/>
<polygon fill="#000000" stroke="#000000" points="1299.57,-1199.9 1309.77,-1202.78 1303.6,-1194.17 1299.57,-1199.9"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node34" class="node"><title>sourcefile~unstructured_spatial_grid_descriptor.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node34"><a xlink:href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html" xlink:title="unstructured_spatial_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1012.5,-1946.84 807.5,-1946.84 807.5,-1922.84 1012.5,-1922.84 1012.5,-1946.84"/>
<text text-anchor="middle" x="910" y="-1932.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_spatial_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge83" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M213.16,-1068.13C218.942,-1172.52 263.405,-1911.4 373,-2099.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-2099.84C399.158,-2141.38 545.155,-2088.5 589,-2068.84 617.35,-2056.13 666.962,-1989.89 696,-1978.84"/>
</g>
<!-- sourcefile~unstructured_uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node35" class="node"><title>sourcefile~unstructured_uniform_grid_descriptor.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node35"><a xlink:href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html" xlink:title="unstructured_uniform_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1015,-1106.84 805,-1106.84 805,-1082.84 1015,-1082.84 1015,-1106.84"/>
<text text-anchor="middle" x="910" y="-1092.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_uniform_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~unstructured_uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge86" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~unstructured_uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-484.84C559.888,-361.462 364.313,-813.367 531.5,-959.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-959.84C564.095,-986.645 584.326,-958.284 625,-957.84 688.996,-957.141 717.233,-920.208 769,-957.84 810.95,-988.336 767.09,-1033.45 805,-1068.84 808.675,-1072.27 812.733,-1075.27 817.051,-1077.88"/>
<polygon fill="#000000" stroke="#000000" points="815.766,-1081.16 826.243,-1082.73 819.033,-1074.97 815.766,-1081.16"/>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node36" class="node"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node36"><a xlink:href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1256,-266.84 1052,-266.84 1052,-242.84 1256,-242.84 1256,-266.84"/>
<text text-anchor="middle" x="1154" y="-252.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge62" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-484.84C435.278,-444.616 416.487,-398.187 476,-356.84 559.427,-298.877 594.601,-301.006 696,-294.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-294.84C745.541,-286.755 757.094,-282.369 805,-276.84 883.795,-267.746 973.093,-262.198 1041.5,-258.948"/>
<polygon fill="#000000" stroke="#000000" points="1042.04,-262.427 1051.87,-258.466 1041.72,-255.435 1042.04,-262.427"/>
</g>
<!-- sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node37" class="node"><title>sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node37"><a xlink:href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html" xlink:title="xdmf_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1257,-616.84 1051,-616.84 1051,-592.84 1257,-592.84 1257,-616.84"/>
<text text-anchor="middle" x="1154" y="-602.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge70" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-484.84C432.856,-446.232 476.244,-527.086 531.5,-484.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-484.84C703.588,-354.8 813.209,-428.281 1015,-499.84 1064.67,-517.454 1110.94,-560.076 1135.23,-585.268"/>
<polygon fill="#000000" stroke="#000000" points="1132.91,-587.912 1142.32,-592.782 1138,-583.107 1132.91,-587.912"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node38" class="node"><title>sourcefile~structured_spatial_grid_descriptor.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node38"><a xlink:href="../sourcefile/structured_spatial_grid_descriptor.f90.html" xlink:title="structured_spatial_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1006.5,-532.84 813.5,-532.84 813.5,-508.84 1006.5,-508.84 1006.5,-532.84"/>
<text text-anchor="middle" x="910" y="-518.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_spatial_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge98" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-484.84C389.884,-474.907 515.984,-513.926 531.5,-522.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-522.84C732.123,-519.586 769.491,-518.443 803.172,-518.303"/>
<polygon fill="#000000" stroke="#000000" points="803.503,-521.803 813.499,-518.291 803.495,-514.803 803.503,-521.803"/>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node39" class="node"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node39"><a xlink:href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_structured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1558,-74.84 1300,-74.84 1300,-50.84 1558,-50.84 1558,-74.84"/>
<text text-anchor="middle" x="1429" y="-60.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_structured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge105" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-62.84C1198.83,-61.2482 1246.65,-60.8072 1289.84,-60.8931"/>
<polygon fill="#000000" stroke="#000000" points="1289.84,-64.393 1299.85,-60.9224 1289.86,-57.393 1289.84,-64.393"/>
</g>
<!-- sourcefile~structured_uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node40" class="node"><title>sourcefile~structured_uniform_grid_descriptor.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node40"><a xlink:href="../sourcefile/structured_uniform_grid_descriptor.f90.html" xlink:title="structured_uniform_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1253,-460.84 1055,-460.84 1055,-436.84 1253,-436.84 1253,-460.84"/>
<text text-anchor="middle" x="1154" y="-446.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_uniform_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~structured_uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge106" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~structured_uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-294.84C841.021,-287.141 886.269,-290.051 1015,-352.84 1034.24,-362.225 1033.87,-371.996 1051,-384.84 1074.16,-402.213 1102.12,-419.521 1122.9,-431.749"/>
<polygon fill="#000000" stroke="#000000" points="1121.22,-434.817 1131.62,-436.828 1124.74,-428.769 1121.22,-434.817"/>
</g>
<!-- sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node41" class="node"><title>sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node41"><a xlink:href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html" xlink:title="xdmf_structured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1559,-344.84 1299,-344.84 1299,-320.84 1559,-320.84 1559,-344.84"/>
<text text-anchor="middle" x="1429" y="-330.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_structured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge109" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-138.84C791.413,-130.573 815.741,-148.69 909,-138.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-138.84C1066.77,-122.388 1113.66,-142.681 1257,-205.84 1318.51,-232.942 1378.87,-285.579 1408.72,-313.83"/>
<polygon fill="#000000" stroke="#000000" points="1406.32,-316.386 1415.96,-320.783 1411.17,-311.335 1406.32,-316.386"/>
</g>
<!-- sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node42" class="node"><title>sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node42"><a xlink:href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html" xlink:title="hdf5_unstructured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1562,-2028.84 1296,-2028.84 1296,-2004.84 1562,-2004.84 1562,-2028.84"/>
<text text-anchor="middle" x="1429" y="-2014.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_unstructured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge129" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2358.84C555.333,-2373.09 565.626,-2366.29 589,-2377.84 606.24,-2386.36 606.659,-2396.06 625,-2401.84 893.479,-2486.4 1032.35,-2530.44 1257,-2360.84 1368.22,-2276.87 1411.8,-2100.8 1424.07,-2038.92"/>
<polygon fill="#000000" stroke="#000000" points="1427.51,-2039.53 1425.94,-2029.05 1420.64,-2038.22 1427.51,-2039.53"/>
</g>
<!-- sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node43" class="node"><title>sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node43"><a xlink:href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html" xlink:title="xdmf_unstructured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1563,-2459.84 1295,-2459.84 1295,-2435.84 1563,-2435.84 1563,-2459.84"/>
<text text-anchor="middle" x="1429" y="-2445.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_unstructured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge143" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2358.84C555.941,-2372.11 569.851,-2360.15 589,-2377.84 632.934,-2418.44 643.75,-2595.72 696,-2624.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2624.84C759.035,-2658.86 1229.54,-2511.85 1381.11,-2463.09"/>
<polygon fill="#000000" stroke="#000000" points="1382.6,-2466.29 1391.05,-2459.89 1380.46,-2459.62 1382.6,-2466.29"/>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node44" class="node"><title>sourcefile~hdf5_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node44"><a xlink:href="../sourcefile/hdf5_dataset_per_process_handler.f90.html" xlink:title="hdf5_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1254,-2026.84 1054,-2026.84 1054,-2002.84 1254,-2002.84 1254,-2026.84"/>
<text text-anchor="middle" x="1154" y="-2012.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge128" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375,-2099.84C390.8,-2126.64 420.425,-2101.65 440,-2125.84 499.3,-2199.11 417.719,-2260.76 476,-2334.84 492.617,-2355.96 509.128,-2343.95 531.5,-2358.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2358.84C603.632,-2405.51 566.471,-2253.43 625,-2192.84 676.791,-2139.22 705.639,-2146.11 769,-2106.84 831.873,-2067.87 835.511,-2025.27 909,-2016.84"/>
</g>
<!-- sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node45" class="node"><title>sourcefile~xdmf_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node45"><a xlink:href="../sourcefile/xdmf_dataset_per_process_handler.f90.html" xlink:title="xdmf_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1255,-2258.84 1053,-2258.84 1053,-2234.84 1255,-2234.84 1255,-2258.84"/>
<text text-anchor="middle" x="1154" y="-2244.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge136" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2358.84C580.688,-2390.89 576.354,-2298.63 625,-2268.84 682.533,-2233.61 705.371,-2243.25 769,-2220.84 831.605,-2198.79 843.142,-2160.56 909,-2168.84"/>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node46" class="node"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node46"><a xlink:href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html" xlink:title="hdf5_structured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1556,-1927.84 1302,-1927.84 1302,-1903.84 1556,-1903.84 1556,-1927.84"/>
<text text-anchor="middle" x="1429" y="-1913.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_structured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge161" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2358.84C600.526,-2404.36 1200.02,-2325.44 1257,-2267.84 1355.78,-2167.97 1201.94,-2060.8 1293,-1953.84 1300.89,-1944.57 1310.85,-1937.47 1321.77,-1932.05"/>
<polygon fill="#000000" stroke="#000000" points="1323.43,-1935.14 1331.14,-1927.88 1320.58,-1928.75 1323.43,-1935.14"/>
</g>
<!-- sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node47" class="node"><title>sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node47"><a xlink:href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html" xlink:title="xdmf_structured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1557,-1986.84 1301,-1986.84 1301,-1962.84 1557,-1962.84 1557,-1986.84"/>
<text text-anchor="middle" x="1429" y="-1972.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_structured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge164" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2358.84C550.832,-2370.74 604.152,-2380.15 625,-2382.84 765.192,-2400.92 1162.06,-2415.56 1257,-2310.84 1351.65,-2206.45 1195.4,-2097.48 1293,-1995.84 1293.8,-1995.01 1294.62,-1994.2 1295.46,-1993.41"/>
<polygon fill="#000000" stroke="#000000" points="1297.86,-1995.96 1303.43,-1986.95 1293.46,-1990.52 1297.86,-1995.96"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge185" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M700.466,-1419.24C714.858,-1491.36 787.951,-1854.21 805,-1870.84 873.192,-1937.37 944.834,-1849.4 1015,-1913.84 1056.64,-1952.08 1015.67,-1991.7 1051,-2035.84 1157.23,-2168.57 1553.99,-2446.67 1719.5,-2407.84"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge11" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M746.143,-1406.84C777.889,-1406.84 819.589,-1406.84 852.845,-1406.84"/>
<polygon fill="#000000" stroke="#000000" points="852.874,-1410.34 862.874,-1406.84 852.874,-1403.34 852.874,-1410.34"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge46" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M705.76,-1419.12C737.301,-1469.05 856.101,-1657.1 895.909,-1720.12"/>
<polygon fill="#000000" stroke="#000000" points="893.092,-1722.21 901.392,-1728.8 899.01,-1718.47 893.092,-1722.21"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge186" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1054.84C1139.5,-1024.78 1780.46,-654.93 1924.5,-834.84"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge10" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M718.288,-991.042C734.958,-1002.26 757.614,-1020.52 769,-1042.84 803.321,-1110.13 755.422,-1323.85 805,-1380.84 816.947,-1394.57 834.946,-1401.61 852.628,-1405.06"/>
<polygon fill="#000000" stroke="#000000" points="852.529,-1408.59 862.954,-1406.7 853.627,-1401.67 852.529,-1408.59"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node6" class="node"><title>sourcefile~xh5for_abstract_factory.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node6"><a xlink:href="../sourcefile/xh5for_abstract_factory.f90.html" xlink:title="xh5for_abstract_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1500.5,-1108.84 1357.5,-1108.84 1357.5,-1084.84 1500.5,-1084.84 1500.5,-1108.84"/>
<text text-anchor="middle" x="1429" y="-1094.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_abstract_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge15" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M748.796,-990.905C756.278,-994.431 763.354,-998.978 769,-1004.84 804.98,-1042.19 769.164,-1078.35 805,-1115.84 839.11,-1151.53 860.618,-1145.04 909,-1154.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1154.84C1082.07,-1189.51 1289.49,-1138.78 1380.88,-1111.83"/>
<polygon fill="#000000" stroke="#000000" points="1382.09,-1115.13 1390.66,-1108.91 1380.08,-1108.42 1382.09,-1115.13"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge48" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M709.873,-991.104C726.457,-1009.1 755.983,-1044.48 769,-1080.84 836.924,-1270.57 750.943,-1338.7 805,-1532.84 825.28,-1605.67 871.541,-1683.25 894.92,-1719.66"/>
<polygon fill="#000000" stroke="#000000" points="892.219,-1721.93 900.605,-1728.4 898.087,-1718.11 892.219,-1721.93"/>
</g>
<!-- sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node28" class="node"><title>sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node28"><a xlink:href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html" xlink:title="unstructured_contiguous_hyperslab_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1840,-1186.84 1601,-1186.84 1601,-1162.84 1840,-1162.84 1840,-1186.84"/>
<text text-anchor="middle" x="1720.5" y="-1172.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_contiguous_hyperslab_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge94" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1154.84C1012.83,-1198.55 1042.58,-1205.51 1153,-1214.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-1214.84C1216.82,-1220.06 1231.62,-1202.83 1293,-1193.84 1352.95,-1185.06 1367.43,-1173.3 1428,-1174.84"/>
</g>
<!-- sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node29" class="node"><title>sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node29"><a xlink:href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html" xlink:title="structured_contiguous_hyperslab_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1834,-424.84 1607,-424.84 1607,-400.84 1834,-400.84 1834,-424.84"/>
<text text-anchor="middle" x="1720.5" y="-410.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_contiguous_hyperslab_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge121" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M731.215,-990.921C790.352,-1012.41 907.852,-1055.04 909,-1054.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1054.84C971.213,-1044.31 976.937,-1012.67 1015,-964.84 1036.29,-938.082 1024.72,-918.715 1051,-896.84 1137.65,-824.724 1183.5,-847.65 1293,-820.84 1352.19,-806.347 1381.38,-836.089 1428,-796.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-796.84C1559.14,-677.945 1671.43,-495.327 1707.44,-433.855"/>
<polygon fill="#000000" stroke="#000000" points="1710.56,-435.462 1712.56,-425.058 1704.5,-431.944 1710.56,-435.462"/>
</g>
<!-- sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node30" class="node"><title>sourcefile~unstructured_dataset_per_process_factory.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node30"><a xlink:href="../sourcefile/unstructured_dataset_per_process_factory.f90.html" xlink:title="unstructured_dataset_per_process_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1838,-1644.84 1603,-1644.84 1603,-1620.84 1838,-1620.84 1838,-1644.84"/>
<text text-anchor="middle" x="1720.5" y="-1630.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_dataset_per_process_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge154" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M709.481,-990.846C725.868,-1008.8 755.474,-1044.43 769,-1080.84 796,-1153.51 753.485,-1369.91 805,-1427.84 860.477,-1490.23 1414.81,-1584.35 1632.45,-1619.22"/>
<polygon fill="#000000" stroke="#000000" points="1632.12,-1622.71 1642.55,-1620.83 1633.23,-1615.8 1632.12,-1622.71"/>
</g>
<!-- sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node31" class="node"><title>sourcefile~structured_dataset_per_process_factory.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node31"><a xlink:href="../sourcefile/structured_dataset_per_process_factory.f90.html" xlink:title="structured_dataset_per_process_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1832,-1228.84 1609,-1228.84 1609,-1204.84 1832,-1204.84 1832,-1228.84"/>
<text text-anchor="middle" x="1720.5" y="-1214.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_dataset_per_process_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge176" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M716.39,-990.897C732.528,-1002.4 755.473,-1021.16 769,-1042.84 799.826,-1092.25 763.021,-1128.47 805,-1168.84 1050.89,-1405.3 1527.04,-1279.1 1674.72,-1232.05"/>
<polygon fill="#000000" stroke="#000000" points="1675.93,-1235.34 1684.37,-1228.94 1673.78,-1228.68 1675.93,-1235.34"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge64" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M766.649,-984.926C837.925,-987.281 948.165,-979.196 1015,-916.84 1060.09,-874.772 1010.39,-829.247 1051,-782.84 1116.34,-708.178 1167.43,-739.506 1257,-696.84 1307.63,-672.722 1364.67,-641.099 1398.41,-621.91"/>
<polygon fill="#000000" stroke="#000000" points="1400.33,-624.841 1407.28,-616.844 1396.86,-618.762 1400.33,-624.841"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge77" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-1214.84C1196.34,-1218.33 1241.33,-1219.44 1282.63,-1219.38"/>
<polygon fill="#000000" stroke="#000000" points="1282.78,-1222.88 1292.77,-1219.34 1282.76,-1215.88 1282.78,-1222.88"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge82" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M700.594,-991.094C710.927,-1040.36 749.533,-1228.88 769,-1385.84 782.303,-1493.09 748.823,-1778.51 805,-1870.84 818.391,-1892.85 842.503,-1908.38 864.14,-1918.63"/>
<polygon fill="#000000" stroke="#000000" points="862.983,-1921.95 873.54,-1922.84 865.842,-1915.56 862.983,-1921.95"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge60" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M708.322,-966.704C739.712,-929.615 836.319,-814.131 909,-712.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-712.84C962.858,-640.568 982.891,-624.795 1015,-541.84 1045.24,-463.723 1011.67,-430.796 1051,-356.84 1069.43,-322.181 1103.53,-291.724 1127.21,-273.318"/>
<polygon fill="#000000" stroke="#000000" points="1129.55,-275.929 1135.41,-267.096 1125.32,-270.352 1129.55,-275.929"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge97" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M710.758,-966.587C726.982,-950.225 754.611,-919.599 769,-887.84 804.288,-809.951 774.997,-778.914 805,-698.84 827.859,-637.831 870.793,-573.586 893.695,-541.554"/>
<polygon fill="#000000" stroke="#000000" points="896.826,-543.197 899.853,-533.044 891.155,-539.093 896.826,-543.197"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge103" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-712.84C942.372,-669.118 984.765,-695.356 1015,-650.84 1071.41,-567.791 981.652,-500.434 1051,-427.84 1115.61,-360.21 1183.07,-442.126 1257,-384.84 1285.6,-362.683 1276.38,-343.969 1293,-311.84 1337.13,-226.55 1392.49,-126.485 1416.27,-83.82"/>
<polygon fill="#000000" stroke="#000000" points="1419.41,-85.3668 1421.23,-74.9288 1413.3,-81.956 1419.41,-85.3668"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge110" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M714.514,-966.812C734.797,-952.637 770.741,-929.427 805,-916.84 894.03,-884.13 947.388,-945.361 1015,-878.84 1073.78,-821.011 996.811,-758.989 1051,-696.84 1114.64,-623.848 1195.62,-700.746 1257,-625.84 1332.89,-533.221 1210.74,-445.856 1293,-358.84 1295.87,-355.805 1298.98,-353.063 1302.28,-350.588"/>
<polygon fill="#000000" stroke="#000000" points="1304.4,-353.38 1310.85,-344.974 1300.57,-347.524 1304.4,-353.38"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge130" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1856.84C943.428,-1891.46 973.668,-1857.56 1015,-1880.84 1034.99,-1892.1 1031.51,-1905.74 1051,-1917.84 1147.02,-1977.43 1183.05,-1969.74 1293,-1995.84 1304.18,-1998.49 1315.96,-2000.89 1327.72,-2003.04"/>
<polygon fill="#000000" stroke="#000000" points="1327.11,-2006.49 1337.57,-2004.79 1328.33,-1999.6 1327.11,-2006.49"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge144" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1856.84C946.817,-1895.51 981.931,-1872.79 1015,-1913.84 1050.47,-1957.86 1021.14,-1987.83 1051,-2035.84 1116.78,-2141.61 1172.92,-2133.95 1257,-2225.84 1320.68,-2295.43 1385.99,-2386.96 1413.94,-2427.27"/>
<polygon fill="#000000" stroke="#000000" points="1411.21,-2429.48 1419.77,-2435.72 1416.97,-2425.51 1411.21,-2429.48"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge126" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1856.84C945.579,-1889.31 977.563,-1851.71 1015,-1880.84 1042.61,-1902.33 1027.34,-1925.07 1051,-1950.84 1069.35,-1970.83 1095.31,-1987 1116.45,-1998.09"/>
<polygon fill="#000000" stroke="#000000" points="1114.98,-2001.26 1125.48,-2002.67 1118.15,-1995.02 1114.98,-2001.26"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge159" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M700.566,-991.098C710.79,-1040.38 749.041,-1228.95 769,-1385.84 775.288,-1435.27 772.438,-1795.12 805,-1832.84 835.999,-1868.75 874.421,-1824.37 909,-1856.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1856.84C945.579,-1889.31 976.831,-1861.01 1015,-1832.84 1040.64,-1813.92 1023.39,-1786.74 1051,-1770.84 1130.35,-1725.16 1171.05,-1739.3 1257,-1770.84 1325.43,-1795.95 1385.25,-1861.91 1412.44,-1895.52"/>
<polygon fill="#000000" stroke="#000000" points="1409.97,-1898.05 1418.93,-1903.71 1415.46,-1893.7 1409.97,-1898.05"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge165" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1856.84C917.905,-1863.77 1247.6,-1920.14 1257,-1922.84 1273.5,-1927.58 1276.72,-1931.4 1293,-1936.84 1318.47,-1945.36 1347.06,-1953.59 1371.34,-1960.2"/>
<polygon fill="#000000" stroke="#000000" points="1370.55,-1963.61 1381.12,-1962.84 1372.37,-1956.85 1370.55,-1963.61"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge187" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M914.975,-1419.01C932.634,-1470.78 1009.5,-1673.39 1153,-1746.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-1746.84C1196.46,-1768.06 1212.6,-1756.77 1257,-1770.84 1397.67,-1815.42 1465.47,-1785.9 1565,-1894.84 1725.61,-2070.63 1485.6,-2363.25 1719.5,-2407.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1721.5,-2407.84C1774.27,-2417.98 1802.36,-2422.19 1840,-2383.84 2014.45,-2206.11 2054.92,-1347.36 2060.71,-1197.25"/>
<polygon fill="#000000" stroke="#000000" points="2064.21,-1197.11 2061.09,-1186.99 2057.22,-1196.85 2064.21,-1197.11"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge16" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M951.869,-1394.82C1022.03,-1372.41 1166.55,-1318.23 1257,-1228.84 1281.32,-1204.8 1268.29,-1184.48 1293,-1160.84 1316.47,-1138.38 1349.29,-1122.58 1376.68,-1112.3"/>
<polygon fill="#000000" stroke="#000000" points="1377.91,-1115.58 1386.13,-1108.89 1375.53,-1108.99 1377.91,-1115.58"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge91" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M957.092,-1418.14C1005.56,-1428.97 1084.19,-1443.58 1153,-1442.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-1442.84C1208.05,-1442.27 1216.15,-1414.69 1257,-1380.84 1275.41,-1365.58 1273.3,-1354.41 1293,-1340.84 1399.72,-1267.33 1458.28,-1309.35 1565,-1235.84 1584.7,-1222.27 1580.09,-1207.45 1601,-1195.84 1604.45,-1193.93 1608.03,-1192.18 1611.71,-1190.59"/>
<polygon fill="#000000" stroke="#000000" points="1612.99,-1193.85 1621.03,-1186.94 1610.44,-1187.33 1612.99,-1193.85"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge118" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M918.285,-1394.78C938.082,-1362.3 995.144,-1270.78 1051,-1200.84 1204.25,-1008.93 1250.5,-966.574 1428,-796.84"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge151" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-1442.84C1370.57,-1442.42 1609.38,-1568.68 1690.64,-1615.58"/>
<polygon fill="#000000" stroke="#000000" points="1688.92,-1618.63 1699.32,-1620.63 1692.44,-1612.58 1688.92,-1618.63"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge173" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-1442.84C1342.28,-1448.18 1397.39,-1428.56 1565,-1344.84 1621.11,-1316.81 1674.73,-1264.88 1701.6,-1236.54"/>
<polygon fill="#000000" stroke="#000000" points="1704.17,-1238.91 1708.45,-1229.22 1699.06,-1234.13 1704.17,-1238.91"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge61" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M918.36,-1394.51C938.389,-1360.22 993.788,-1260.2 1015,-1168.84 1055.85,-992.898 978.2,-522.141 1051,-356.84 1066.8,-320.962 1101.42,-290.822 1125.93,-272.818"/>
<polygon fill="#000000" stroke="#000000" points="1128.02,-275.624 1134.13,-266.966 1123.96,-269.925 1128.02,-275.624"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge127" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M914.817,-1418.87C930.248,-1467.18 990.109,-1651.59 1051,-1798.84 1080.97,-1871.31 1122.32,-1954.58 1141.88,-1993.14"/>
<polygon fill="#000000" stroke="#000000" points="1138.93,-1995.05 1146.58,-2002.37 1145.16,-1991.87 1138.93,-1995.05"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge188" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1500.77,-1092.85C1522.58,-1089.17 1545.86,-1082.55 1565,-1070.84 1660.2,-1012.57 1607.98,-877.478 1719.5,-872.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1721.5,-872.84C1724.37,-872.721 1922.71,-832.601 1924.5,-834.84"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge182" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1721.5,-872.84C1856.61,-867.222 1907.7,-1082.13 1920.82,-1152.72"/>
<polygon fill="#000000" stroke="#000000" points="1917.4,-1153.52 1922.6,-1162.75 1924.3,-1152.29 1917.4,-1153.52"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge90" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1500.82,-1108.63C1521.63,-1112.59 1544.34,-1117.4 1565,-1122.84 1604.02,-1133.11 1647.5,-1148.07 1678.36,-1159.31"/>
<polygon fill="#000000" stroke="#000000" points="1677.33,-1162.66 1687.92,-1162.82 1679.74,-1156.09 1677.33,-1162.66"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge117" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1500.7,-1098.65C1524.06,-1095.6 1548.31,-1087.9 1565,-1070.84 1631.83,-1002.52 1580.71,-952.232 1601,-858.84 1636.7,-694.54 1693.5,-499.897 1712.82,-435.071"/>
<polygon fill="#000000" stroke="#000000" points="1716.27,-435.738 1715.78,-425.154 1709.57,-433.733 1716.27,-435.738"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge150" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1455.24,-1108.9C1485.41,-1124.51 1535.49,-1154.46 1565,-1193.84 1667.81,-1331.04 1706.33,-1542.4 1716.51,-1610.72"/>
<polygon fill="#000000" stroke="#000000" points="1713.06,-1611.36 1717.95,-1620.77 1719.99,-1610.37 1713.06,-1611.36"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge172" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1500.58,-1098.28C1522.99,-1101.74 1546.68,-1108.87 1565,-1122.84 1593.77,-1144.77 1572.07,-1174.12 1601,-1195.84 1602.87,-1197.24 1604.8,-1198.56 1606.78,-1199.8"/>
<polygon fill="#000000" stroke="#000000" points="1605.34,-1203.01 1615.79,-1204.76 1608.72,-1196.87 1605.34,-1203.01"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge189" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M958.002,-1730.64C1008.97,-1722.06 1091.3,-1715.64 1153,-1746.84"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge14" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M916.48,-1728.83C932.472,-1695.01 982.329,-1597.85 1051,-1542.84 1128.43,-1480.81 1197.1,-1535.93 1257,-1456.84 1337.01,-1351.19 1215.51,-1268.35 1293,-1160.84 1310.16,-1137.04 1338.51,-1121.78 1364.81,-1112.15"/>
<polygon fill="#000000" stroke="#000000" points="1366.07,-1115.42 1374.38,-1108.86 1363.79,-1108.8 1366.07,-1115.42"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge93" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M925.702,-1728.8C950.755,-1708.49 1003.61,-1666.54 1051,-1634.84 1277.24,-1483.5 1400.77,-1518.91 1565,-1301.84 1595.02,-1262.16 1563.25,-1228.25 1601,-1195.84 1602.36,-1194.67 1603.77,-1193.56 1605.21,-1192.49"/>
<polygon fill="#000000" stroke="#000000" points="1607.31,-1195.3 1613.85,-1186.97 1603.54,-1189.41 1607.31,-1195.3"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge119" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M914.612,-1728.67C927.888,-1685.17 977.092,-1534.36 1051,-1428.84 1124.2,-1324.32 1194.08,-1339.86 1257,-1228.84 1291.45,-1168.07 1258.61,-1136.64 1293,-1075.84 1376.09,-928.935 1471.89,-951.611 1565,-810.84 1650.44,-681.661 1699.34,-498.203 1714.42,-435.136"/>
<polygon fill="#000000" stroke="#000000" points="1717.9,-435.651 1716.77,-425.116 1711.08,-434.051 1717.9,-435.651"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge153" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-1632.84C1497.31,-1611.29 1578.02,-1613.41 1637.1,-1619.71"/>
<polygon fill="#000000" stroke="#000000" points="1636.8,-1623.19 1647.13,-1620.84 1637.59,-1616.24 1636.8,-1623.19"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge174" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M925.78,-1728.64C950.117,-1709.36 1000.94,-1672.44 1051,-1656.84 1211.3,-1606.9 1268.1,-1684.04 1428,-1632.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-1632.84C1492.31,-1611 1518.76,-1617.97 1565,-1570.84 1662.71,-1471.26 1703.65,-1299.73 1715.55,-1238.96"/>
<polygon fill="#000000" stroke="#000000" points="1719.03,-1239.43 1717.45,-1228.95 1712.15,-1238.13 1719.03,-1239.43"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge71" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M916.425,-1728.64C934.47,-1687.39 992.6,-1548.9 1015,-1427.84 1031.13,-1340.67 995.042,-699.591 1051,-630.84 1053.45,-627.828 1056.2,-625.137 1059.18,-622.735"/>
<polygon fill="#000000" stroke="#000000" points="1061.26,-625.551 1067.55,-617.026 1057.31,-619.768 1061.26,-625.551"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge137" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M945.084,-1752.91C968.578,-1763.06 998.447,-1779.95 1015,-1804.84 1072.54,-1891.36 1020.05,-1936.65 1051,-2035.84 1073.81,-2108.93 1118.2,-2188.58 1140.12,-2225.65"/>
<polygon fill="#000000" stroke="#000000" points="1137.29,-2227.74 1145.43,-2234.53 1143.3,-2224.15 1137.29,-2227.74"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge190" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375.562,-1087.88C380.296,-1187.22 414.854,-1872.59 476,-2068.84 516.886,-2200.07 525.93,-2244.57 625,-2339.84 898.391,-2602.76 1061.12,-2725.1 1428,-2628.84"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge50" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-1073.84C558.898,-1075.29 568.554,-1072.7 589,-1087.84 713.361,-1179.9 709.92,-1242.83 769,-1385.84 794.683,-1448.01 781.815,-1469.7 805,-1532.84 831.188,-1604.16 875.072,-1683.02 896.485,-1719.8"/>
<polygon fill="#000000" stroke="#000000" points="893.579,-1721.76 901.659,-1728.61 899.616,-1718.22 893.579,-1721.76"/>
</g>
<!-- sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node9" class="node"><title>sourcefile~mpi_environment.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node9"><a xlink:href="../sourcefile/mpi_environment.f90.html" xlink:title="mpi_environment.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="589,-1163.84 476,-1163.84 476,-1139.84 589,-1139.84 589,-1163.84"/>
<text text-anchor="middle" x="532.5" y="-1149.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">mpi_environment.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge54" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~mpi_environment.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M399.009,-1087.91C419.428,-1098.13 449.559,-1113.1 476,-1125.84 482.441,-1128.94 489.324,-1132.21 495.973,-1135.34"/>
<polygon fill="#000000" stroke="#000000" points="494.929,-1138.71 505.469,-1139.79 497.9,-1132.37 494.929,-1138.71"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge55" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M416.759,-1065.27C425.306,-1061.53 433.625,-1056.52 440,-1049.84 473.76,-1014.45 441.613,-980.625 476,-945.84 512.946,-908.466 568.809,-888.688 614.996,-878.268"/>
<polygon fill="#000000" stroke="#000000" points="615.952,-881.643 624.995,-876.123 614.484,-874.799 615.952,-881.643"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge67" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-598.84C932.429,-523.89 1231.25,-566.1 1361.88,-590.852"/>
<polygon fill="#000000" stroke="#000000" points="1361.26,-594.297 1371.75,-592.749 1362.59,-587.423 1361.26,-594.297"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge79" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M416.525,-1071.14C448.262,-1068.55 492.962,-1067.07 531.5,-1073.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-1073.84C558.556,-1078.24 564.719,-1080.25 589,-1087.84 686.859,-1118.43 707.021,-1138.64 805,-1168.84 912.545,-1201.99 939.266,-1215.41 1051,-1228.84 1141.9,-1239.77 1165.52,-1232.58 1257,-1228.84 1265.76,-1228.48 1274.76,-1228.02 1283.84,-1227.49"/>
<polygon fill="#000000" stroke="#000000" points="1284.34,-1230.96 1294.11,-1226.85 1283.91,-1223.98 1284.34,-1230.96"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge84" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M375.398,-1087.89C378.941,-1188.69 407.923,-1892.03 531.5,-2054.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2054.84C581.705,-2118.35 621.485,-2007.2 696,-1978.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-1978.84C733.643,-1965.27 774.348,-1955.53 810.437,-1948.73"/>
<polygon fill="#000000" stroke="#000000" points="811.28,-1952.13 820.485,-1946.88 810.017,-1945.24 811.28,-1952.13"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge58" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M416.507,-1067.18C425.604,-1063.35 434.23,-1057.82 440,-1049.84 515.553,-945.385 402.266,-576.587 476,-470.84 545.073,-371.777 904.437,-297.905 1069.7,-268.63"/>
<polygon fill="#000000" stroke="#000000" points="1070.57,-272.03 1079.82,-266.85 1069.36,-265.136 1070.57,-272.03"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge72" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M416.82,-1067.02C425.793,-1063.19 434.284,-1057.71 440,-1049.84 510.826,-952.367 406.528,-607.283 476,-508.84 491.495,-486.883 510.151,-501.163 531.5,-484.84"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge99" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M416.566,-1066.83C425.547,-1063.01 434.105,-1057.57 440,-1049.84 526.498,-936.372 404.12,-854.088 476,-730.84 533.447,-632.34 582.44,-609.151 696,-598.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-598.84C729.728,-588.696 739.665,-590.619 769,-574.84 786.851,-565.238 786.775,-555.712 805,-546.84 813.911,-542.502 823.614,-538.844 833.395,-535.771"/>
<polygon fill="#000000" stroke="#000000" points="834.573,-539.073 843.176,-532.889 832.594,-532.358 834.573,-539.073"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge101" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M416.593,-1067.25C425.688,-1063.41 434.291,-1057.86 440,-1049.84 539.073,-910.643 388.939,-428.848 476,-281.84 515.54,-215.074 553.625,-221.282 625,-190.84 685.885,-164.873 709.676,-182.197 769,-152.84 787.167,-143.85 786.177,-132.361 805,-124.84 827.185,-115.976 1112.81,-90.0383 1289.52,-74.6634"/>
<polygon fill="#000000" stroke="#000000" points="1290.02,-78.1327 1299.68,-73.7801 1289.42,-71.159 1290.02,-78.1327"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge112" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M416.548,-1067.21C425.644,-1063.38 434.259,-1057.84 440,-1049.84 525.133,-931.233 407.498,-522.769 476,-393.84 550.332,-253.938 646.365,-291.132 769,-190.84 787.009,-176.112 784.291,-163.441 805,-152.84 846.516,-131.588 862.542,-142.952 909,-138.84"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge133" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2054.84C608.734,-2153.96 582.809,-2231.15 696,-2282.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2282.84C754.518,-2308.65 1202.47,-2297.62 1257,-2267.84 1350.54,-2216.76 1402.97,-2089.87 1420.9,-2038.73"/>
<polygon fill="#000000" stroke="#000000" points="1424.29,-2039.61 1424.2,-2029.02 1417.66,-2037.36 1424.29,-2039.61"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge145" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2282.84C720.499,-2296.1 1128.04,-2393.15 1153,-2400.84"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge124" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2054.84C577.165,-2112.37 623.849,-2058.05 696,-2054.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2054.84C793.192,-2050.6 814.334,-2027.7 909,-2016.84"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge138" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2206.84C790.505,-2229.7 814.457,-2156.96 909,-2168.84"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge157" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2054.84C946.342,-2043.79 1051.21,-2175.29 1257,-2035.84 1289.95,-2013.51 1262.97,-1979.96 1293,-1953.84 1304.38,-1943.94 1318.15,-1936.61 1332.5,-1931.18"/>
<polygon fill="#000000" stroke="#000000" points="1333.69,-1934.47 1341.99,-1927.88 1331.39,-1927.86 1333.69,-1934.47"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge166" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.5,-2054.84C593.29,-2133.61 599.994,-2183.12 696,-2206.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2206.84C749.33,-2219.52 754.586,-2170.78 805,-2154.84 999.024,-2093.49 1097.15,-2207.76 1257,-2081.84 1289.55,-2056.2 1260.38,-2021.39 1293,-1995.84 1294.61,-1994.58 1296.27,-1993.38 1297.96,-1992.24"/>
<polygon fill="#000000" stroke="#000000" points="1299.95,-1995.13 1306.75,-1987 1296.37,-1989.11 1299.95,-1995.13"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge191" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M534.115,-1164.13C540.179,-1284.45 589.791,-2248.47 625,-2296.84 625.888,-2298.06 1426.57,-2629.32 1428,-2628.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-2628.84C1497.46,-2611.14 1508.95,-2590.34 1565,-2548.84 1639.71,-2493.52 1628.13,-2424.98 1719.5,-2407.84"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~steps_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge1" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~steps_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M541.338,-1164.14C567.24,-1204.79 650.29,-1335.11 682.787,-1386.1"/>
<polygon fill="#000000" stroke="#000000" points="679.915,-1388.11 688.241,-1394.66 685.818,-1384.35 679.915,-1388.11"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge5" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M544.927,-1139.67C572.598,-1110.22 643.418,-1034.82 677.34,-998.706"/>
<polygon fill="#000000" stroke="#000000" points="680.073,-1000.91 684.368,-991.223 674.971,-996.116 680.073,-1000.91"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge9" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M544.009,-1163.99C577.765,-1202.21 688.068,-1321.03 805,-1380.84 819.819,-1388.42 836.978,-1393.88 853.032,-1397.77"/>
<polygon fill="#000000" stroke="#000000" points="852.328,-1401.2 862.855,-1400 853.876,-1394.37 852.328,-1401.2"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge49" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M534.862,-1164C544.044,-1243.77 599.481,-1691.68 696,-1780.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-1780.84C703.708,-1786.11 791.47,-1767.55 851.992,-1753.97"/>
<polygon fill="#000000" stroke="#000000" points="852.842,-1757.36 861.827,-1751.75 851.302,-1750.53 852.842,-1757.36"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge66" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M547.902,-1139.71C560.902,-1127.89 579.414,-1108.68 589,-1087.84 634.432,-989.047 554.025,-928.221 625,-845.84 743.286,-708.545 875.236,-842.199 1015,-726.84 1041.37,-705.072 1022.97,-678.434 1051,-658.84 1088.5,-632.621 1110.28,-661.246 1153,-644.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-644.84C1170.71,-638.782 1251.5,-627.314 1321.15,-618.205"/>
<polygon fill="#000000" stroke="#000000" points="1321.87,-621.641 1331.33,-616.88 1320.96,-614.7 1321.87,-621.641"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge80" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-1780.84C749.839,-1828.73 950.817,-1791.18 1015,-1761.84 1032.51,-1753.84 1246.76,-1530.14 1257,-1513.84 1281.91,-1474.2 1271.74,-1456.56 1293,-1414.84 1328.59,-1344.99 1384.29,-1270.38 1411.68,-1235.3"/>
<polygon fill="#000000" stroke="#000000" points="1414.57,-1237.29 1418,-1227.26 1409.07,-1232.96 1414.57,-1237.29"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge85" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-1780.84C752.466,-1831.15 742.168,-1869.47 805,-1908.84 811.598,-1912.97 818.817,-1916.45 826.278,-1919.38"/>
<polygon fill="#000000" stroke="#000000" points="825.234,-1922.72 835.829,-1922.79 827.592,-1916.13 825.234,-1922.72"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge59" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M548.524,-1139.65C561.767,-1127.92 580.272,-1108.9 589,-1087.84 631.908,-984.316 556.27,-673.352 625,-584.84 666.375,-531.556 711.858,-572.699 769,-536.84 788.434,-524.644 787.955,-515.199 805,-499.84 908.44,-406.629 933.451,-380.475 1051,-305.84 1071.54,-292.799 1095.86,-280.526 1115.61,-271.288"/>
<polygon fill="#000000" stroke="#000000" points="1117.28,-274.372 1124.89,-267.008 1114.35,-268.015 1117.28,-274.372"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge73" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-636.84C701.085,-633.885 906.906,-620.365 1040.64,-611.871"/>
<polygon fill="#000000" stroke="#000000" points="1041.18,-615.344 1050.94,-611.218 1040.74,-608.358 1041.18,-615.344"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge100" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M548.462,-1139.62C561.662,-1127.87 580.139,-1108.84 589,-1087.84 626.017,-1000.1 566.28,-735.806 625,-660.84 645.54,-634.617 671.942,-659.878 696,-636.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-636.84C722.058,-613.802 743.496,-634.266 769,-612.84 794.584,-591.348 778.567,-567.279 805,-546.84 809.976,-542.992 815.451,-539.707 821.206,-536.904"/>
<polygon fill="#000000" stroke="#000000" points="822.675,-540.081 830.449,-532.883 819.883,-533.663 822.675,-540.081"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge102" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M548.637,-1139.69C561.958,-1128 580.513,-1109 589,-1087.84 619.687,-1011.33 573.126,-410.901 625,-346.84 666.655,-295.399 719.584,-352.877 769,-308.84 801.78,-279.628 771.698,-245.457 805,-216.84 961.194,-82.6202 1057.91,-167.5 1257,-114.84 1299.46,-103.61 1347.23,-88.9039 1381.47,-77.9972"/>
<polygon fill="#000000" stroke="#000000" points="1382.74,-81.2665 1391.2,-74.8854 1380.61,-74.5994 1382.74,-81.2665"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge113" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M548.57,-1139.67C561.845,-1127.95 580.37,-1108.94 589,-1087.84 637.802,-968.519 572.479,-626.571 625,-508.84 671.479,-404.653 709.31,-387.956 805,-325.84 976.955,-214.217 1059.01,-180.661 1257,-233.84 1315.14,-249.457 1373.93,-290.189 1405.16,-314.261"/>
<polygon fill="#000000" stroke="#000000" points="1403.18,-317.159 1413.21,-320.575 1407.5,-311.65 1403.18,-317.159"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge132" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.926,-1164.02C537.639,-1267.31 565.788,-1994.43 625,-2068.84 645.741,-2094.9 672.488,-2069.25 696,-2092.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2092.84C785.713,-2180.86 1136.37,-2136.65 1257,-2106.84 1313.27,-2092.94 1371.46,-2056.81 1403.36,-2034.79"/>
<polygon fill="#000000" stroke="#000000" points="1405.47,-2037.59 1411.64,-2028.98 1401.44,-2031.86 1405.47,-2037.59"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge146" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.968,-1164.12C538.089,-1269.88 569.351,-2024.84 625,-2106.84 652.346,-2147.14 973.128,-2281.97 1015,-2306.84 1078.81,-2344.73 1082.32,-2378.21 1153,-2400.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-2400.84C1204.98,-2416.24 1261.77,-2427.04 1310.56,-2434.37"/>
<polygon fill="#000000" stroke="#000000" points="1310.12,-2437.84 1320.52,-2435.83 1311.14,-2430.92 1310.12,-2437.84"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge125" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M533.908,-1164.05C537.335,-1263.02 562.732,-1932.05 625,-1992.84 670.321,-2037.08 846.126,-2024.48 909,-2016.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-2016.84C954.19,-2011.89 1002,-2010.61 1043.64,-2010.85"/>
<polygon fill="#000000" stroke="#000000" points="1043.78,-2014.35 1053.81,-2010.94 1043.84,-2007.35 1043.78,-2014.35"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge139" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2092.84C768.358,-2163.44 810.102,-2156.41 909,-2168.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-2168.84C958.067,-2174.75 972.161,-2172.47 1015,-2192.84 1033.31,-2201.55 1032.8,-2211.93 1051,-2220.84 1059.86,-2225.18 1069.53,-2228.85 1079.26,-2231.93"/>
<polygon fill="#000000" stroke="#000000" points="1078.4,-2235.32 1088.98,-2234.82 1080.39,-2228.61 1078.4,-2235.32"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge158" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M534.095,-1163.92C538.123,-1242.31 563.105,-1679.13 625,-1794.84 695.489,-1926.61 759.656,-1980.16 909,-1974.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1974.84C921.027,-1975.93 1168.82,-1946.77 1317.66,-1929.04"/>
<polygon fill="#000000" stroke="#000000" points="1318.24,-1932.5 1327.76,-1927.84 1317.41,-1925.55 1318.24,-1932.5"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge167" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1974.84C980.81,-1988.68 1162.52,-1985.37 1290.7,-1980.85"/>
<polygon fill="#000000" stroke="#000000" points="1291.13,-1984.34 1301,-1980.48 1290.88,-1977.34 1291.13,-1984.34"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge192" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-370.84C1209.71,-344.619 1367.38,-370.542 1428,-372.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-372.84C1494.29,-375.277 1676.89,-324.638 1719.5,-372.84"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge12" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M711.269,-878.877C728.045,-895.006 756.27,-925.38 769,-957.84 803.443,-1045.67 743.839,-1309.01 805,-1380.84 816.801,-1394.7 834.765,-1401.76 852.46,-1405.2"/>
<polygon fill="#000000" stroke="#000000" points="852.376,-1408.73 862.799,-1406.83 853.466,-1401.82 852.376,-1408.73"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge17" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-864.84C1118.2,-823.471 1341.62,-1014.8 1408.21,-1077.51"/>
<polygon fill="#000000" stroke="#000000" points="1405.89,-1080.13 1415.54,-1084.49 1410.72,-1075.06 1405.89,-1080.13"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge51" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M711.311,-878.861C728.133,-894.971 756.408,-925.326 769,-957.84 844.662,-1153.2 763.662,-1222.46 805,-1427.84 827.679,-1540.52 878.73,-1668.92 899.719,-1719.12"/>
<polygon fill="#000000" stroke="#000000" points="896.611,-1720.76 903.721,-1728.61 903.061,-1718.04 896.611,-1720.76"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge92" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-864.84C1062.21,-836.828 1109.91,-820.991 1257,-865.84 1452.36,-925.406 1640.61,-1097.47 1700.15,-1155.48"/>
<polygon fill="#000000" stroke="#000000" points="1697.79,-1158.07 1707.38,-1162.58 1702.7,-1153.08 1697.79,-1158.07"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge122" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-372.84C1505.13,-375.688 1590.28,-388.64 1648.68,-399.045"/>
<polygon fill="#000000" stroke="#000000" points="1648.07,-402.493 1658.54,-400.823 1649.31,-395.604 1648.07,-402.493"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge152" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M710.852,-879.051C727.178,-895.367 754.917,-925.944 769,-957.84 807.424,-1044.87 744.449,-1095.46 805,-1168.84 919.854,-1308.02 1416.88,-1351.77 1565,-1454.84 1628.52,-1499.04 1682.5,-1575.06 1706.37,-1611.78"/>
<polygon fill="#000000" stroke="#000000" points="1703.7,-1614.1 1712.04,-1620.63 1709.6,-1610.32 1703.7,-1614.1"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge177" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-864.84C959.917,-858.202 970.628,-882.205 1015,-903.84 1031.85,-912.058 1034.11,-917.703 1051,-925.84 1138.78,-968.12 1189.87,-930.22 1257,-1000.84 1294.48,-1040.27 1253.57,-1080.35 1293,-1117.84 1395.34,-1215.14 1462.94,-1166.17 1601,-1195.84 1612.49,-1198.31 1624.65,-1200.71 1636.64,-1202.95"/>
<polygon fill="#000000" stroke="#000000" points="1636.17,-1206.42 1646.64,-1204.79 1637.44,-1199.54 1636.17,-1206.42"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge68" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-864.84C957.643,-856.199 981.802,-874.725 1015,-840.84 1069.66,-785.052 996.462,-724.745 1051,-668.84 1083.52,-635.504 1109.52,-661.537 1153,-644.84"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge81" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M729.834,-878.959C846.877,-923.57 1247.11,-1076.59 1257,-1086.84 1290.38,-1121.43 1256.57,-1157.47 1293,-1188.84 1297.02,-1192.3 1301.37,-1195.36 1305.94,-1198.06"/>
<polygon fill="#000000" stroke="#000000" points="1304.53,-1201.27 1315.01,-1202.81 1307.78,-1195.07 1304.53,-1201.27"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge87" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M719.165,-878.895C735.208,-889.113 756.55,-905.218 769,-924.84 804.344,-980.543 758.352,-1022.19 805,-1068.84 808.438,-1072.28 812.258,-1075.29 816.345,-1077.91"/>
<polygon fill="#000000" stroke="#000000" points="814.637,-1080.97 825.074,-1082.79 818.053,-1074.86 814.637,-1080.97"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge74" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M769.012,-872.726C810.267,-874.521 863.017,-874.021 909,-864.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-864.84C957.519,-855.552 982.427,-875.326 1015,-840.84 1080.02,-771.999 986.765,-700.417 1051,-630.84 1054,-627.592 1057.34,-624.726 1060.94,-622.198"/>
<polygon fill="#000000" stroke="#000000" points="1062.98,-625.054 1069.74,-616.895 1059.37,-619.058 1062.98,-625.054"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge107" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M766.746,-854.813C839.175,-838.501 951.379,-802.256 1015,-726.84 1057.26,-676.746 1022.68,-642.944 1051,-583.84 1072.76,-538.422 1111.12,-493.289 1134.09,-468.429"/>
<polygon fill="#000000" stroke="#000000" points="1136.68,-470.785 1140.97,-461.096 1131.57,-465.997 1136.68,-470.785"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge114" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M703.37,-854.493C716.822,-824.682 754.533,-747.633 805,-698.84 882.925,-623.5 952.251,-663.219 1015,-574.84 1062.23,-508.317 994.291,-453.492 1051,-394.84 1083.37,-361.359 1111.69,-392.342 1153,-370.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-370.84C1179.12,-359.279 1234.23,-350.569 1288.67,-344.424"/>
<polygon fill="#000000" stroke="#000000" points="1289.27,-347.88 1298.82,-343.307 1288.5,-340.922 1289.27,-347.88"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge134" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M711.177,-878.914C727.853,-895.082 755.971,-925.499 769,-957.84 797.969,-1029.75 757.897,-1243.27 805,-1304.84 865.78,-1384.29 940.779,-1318.77 1015,-1385.84 1041.25,-1409.56 1033.27,-1426.22 1051,-1456.84 1134.65,-1601.27 1196.7,-1615.21 1257,-1770.84 1293.59,-1865.27 1221.23,-1924.39 1293,-1995.84 1293.95,-1996.78 1294.91,-1997.69 1295.91,-1998.57"/>
<polygon fill="#000000" stroke="#000000" points="1293.86,-2001.41 1303.91,-2004.74 1298.13,-1995.86 1293.86,-2001.41"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge147" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M711.764,-879.079C728.791,-895.194 756.994,-925.319 769,-957.84 799.97,-1041.73 757.721,-1685.94 805,-1761.84 832.868,-1806.58 884.067,-1772.4 909,-1818.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1818.84C933.439,-1860.63 971.167,-1824.7 1015,-1842.84 1132.14,-1891.31 1176.64,-1895.79 1257,-1993.84 1370.77,-2132.66 1413.62,-2354.95 1424.79,-2425.56"/>
<polygon fill="#000000" stroke="#000000" points="1421.34,-2426.2 1426.31,-2435.55 1428.26,-2425.14 1421.34,-2426.2"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge140" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M911,-1818.84C933.439,-1860.63 982.175,-1808.59 1015,-1842.84 1075.38,-1905.83 1023.77,-1952.94 1051,-2035.84 1074.89,-2108.58 1118.78,-2188.4 1140.35,-2225.58"/>
<polygon fill="#000000" stroke="#000000" points="1137.49,-2227.63 1145.57,-2234.49 1143.53,-2224.09 1137.49,-2227.63"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge168" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M713.607,-878.853C728.247,-890.292 750.584,-908.186 769,-924.84 785.783,-940.017 786.007,-948.54 805,-960.84 888.832,-1015.13 926.139,-995.244 1015,-1040.84 1072.36,-1070.27 1225.09,-1144.82 1257,-1200.84 1297.52,-1271.98 1241.99,-1872.8 1293,-1936.84 1300.27,-1945.97 1309.56,-1953.02 1319.85,-1958.44"/>
<polygon fill="#000000" stroke="#000000" points="1318.58,-1961.71 1329.12,-1962.79 1321.56,-1955.37 1318.58,-1961.71"/>
</g>
<!-- sourcefile~xh5for_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge193" class="edge"><title>sourcefile~xh5for_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1975.24,-1174.84C1983.4,-1174.84 1991.96,-1174.84 2000.38,-1174.84"/>
<polygon fill="#000000" stroke="#000000" points="2000.56,-1178.34 2010.56,-1174.84 2000.56,-1171.34 2000.56,-1178.34"/>
</g>
<!-- sourcefile~xdmf_utils.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node12" class="node"><title>sourcefile~xdmf_utils.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node12"><a xlink:href="../sourcefile/xdmf_utils.f90.html" xlink:title="xdmf_utils.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="251,-2326.84 172,-2326.84 172,-2302.84 251,-2302.84 251,-2326.84"/>
<text text-anchor="middle" x="211.5" y="-2312.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_utils.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge7" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M212.475,-2302.66C212.337,-2177 213.975,-1119.38 308,-1021.84 349.269,-979.03 516.258,-974.705 617.23,-976.22"/>
<polygon fill="#000000" stroke="#000000" points="617.332,-979.722 627.391,-976.395 617.453,-972.723 617.332,-979.722"/>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge53" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xh5for_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M214.089,-2302.58C229.334,-2184.89 349.624,-1256.29 370.055,-1098.57"/>
<polygon fill="#000000" stroke="#000000" points="373.585,-1098.57 371.398,-1088.2 366.643,-1097.67 373.585,-1098.57"/>
</g>
<!-- sourcefile~xdmf_time.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node16" class="node"><title>sourcefile~xdmf_time.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node16"><a xlink:href="../sourcefile/xdmf_time.f90.html" xlink:title="xdmf_time.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="414,-2368.84 334,-2368.84 334,-2344.84 414,-2344.84 414,-2368.84"/>
<text text-anchor="middle" x="374" y="-2354.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_time.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_time.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge19" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_time.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M251.353,-2325.01C273.27,-2330.74 300.862,-2337.96 324.224,-2344.08"/>
<polygon fill="#000000" stroke="#000000" points="323.389,-2347.48 333.949,-2346.62 325.161,-2340.7 323.389,-2347.48"/>
</g>
<!-- sourcefile~xdmf_topology.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node17" class="node"><title>sourcefile~xdmf_topology.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node17"><a xlink:href="../sourcefile/xdmf_topology.f90.html" xlink:title="xdmf_topology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="424,-2326.84 324,-2326.84 324,-2302.84 424,-2302.84 424,-2326.84"/>
<text text-anchor="middle" x="374" y="-2312.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_topology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_topology.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge21" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_topology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M251.353,-2314.84C270.089,-2314.84 292.97,-2314.84 313.812,-2314.84"/>
<polygon fill="#000000" stroke="#000000" points="313.853,-2318.34 323.853,-2314.84 313.853,-2311.34 313.853,-2318.34"/>
</g>
<!-- sourcefile~xdmf_xinclude.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node21" class="node"><title>sourcefile~xdmf_xinclude.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node21"><a xlink:href="../sourcefile/xdmf_xinclude.f90.html" xlink:title="xdmf_xinclude.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="423.5,-2284.84 324.5,-2284.84 324.5,-2260.84 423.5,-2260.84 423.5,-2284.84"/>
<text text-anchor="middle" x="374" y="-2270.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_xinclude.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_xinclude.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge25" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_xinclude.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M251.353,-2304.67C271.144,-2299.49 295.561,-2293.1 317.314,-2287.41"/>
<polygon fill="#000000" stroke="#000000" points="318.306,-2290.77 327.094,-2284.85 316.534,-2284 318.306,-2290.77"/>
</g>
<!-- sourcefile~xdmf_dataitem.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node22" class="node"><title>sourcefile~xdmf_dataitem.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node22"><a xlink:href="../sourcefile/xdmf_dataitem.f90.html" xlink:title="xdmf_dataitem.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="424.5,-2242.84 323.5,-2242.84 323.5,-2218.84 424.5,-2218.84 424.5,-2242.84"/>
<text text-anchor="middle" x="374" y="-2228.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_dataitem.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_dataitem.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge27" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_dataitem.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M227.933,-2302.75C246.193,-2288.91 277.921,-2266.29 308,-2251.84 312.017,-2249.91 316.255,-2248.09 320.563,-2246.4"/>
<polygon fill="#000000" stroke="#000000" points="321.883,-2249.64 330.047,-2242.89 319.454,-2243.08 321.883,-2249.64"/>
</g>
<!-- sourcefile~xdmf_geometry.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node23" class="node"><title>sourcefile~xdmf_geometry.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node23"><a xlink:href="../sourcefile/xdmf_geometry.f90.html" xlink:title="xdmf_geometry.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="426.5,-2494.84 321.5,-2494.84 321.5,-2470.84 426.5,-2470.84 426.5,-2494.84"/>
<text text-anchor="middle" x="374" y="-2480.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_geometry.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_geometry.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge29" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_geometry.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M226.498,-2326.96C239.597,-2338.87 259.039,-2358.09 272,-2377.84 294.289,-2411.8 277.983,-2434.48 308,-2461.84 309.479,-2463.19 311.045,-2464.45 312.681,-2465.63"/>
<polygon fill="#000000" stroke="#000000" points="310.99,-2468.7 321.357,-2470.89 314.617,-2462.71 310.99,-2468.7"/>
</g>
<!-- sourcefile~xdmf_attribute.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node25" class="node"><title>sourcefile~xdmf_attribute.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node25"><a xlink:href="../sourcefile/xdmf_attribute.f90.html" xlink:title="xdmf_attribute.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="423.5,-2452.84 324.5,-2452.84 324.5,-2428.84 423.5,-2428.84 423.5,-2452.84"/>
<text text-anchor="middle" x="374" y="-2438.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_attribute.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_attribute.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge31" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_attribute.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M224.533,-2327.22C236.682,-2339.81 255.899,-2359.95 272,-2377.84 288.445,-2396.12 287.535,-2406.22 308,-2419.84 310.534,-2421.53 313.214,-2423.09 315.984,-2424.53"/>
<polygon fill="#000000" stroke="#000000" points="314.529,-2427.71 325.074,-2428.74 317.471,-2421.36 314.529,-2427.71"/>
</g>
<!-- sourcefile~xdmf_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node26" class="node"><title>sourcefile~xdmf_grid.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node26"><a xlink:href="../sourcefile/xdmf_grid.f90.html" xlink:title="xdmf_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="413,-2410.84 335,-2410.84 335,-2386.84 413,-2386.84 413,-2410.84"/>
<text text-anchor="middle" x="374" y="-2396.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge33" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xdmf_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M227.933,-2326.93C246.193,-2340.77 277.921,-2363.39 308,-2377.84 313.41,-2380.44 319.221,-2382.83 325.064,-2385"/>
<polygon fill="#000000" stroke="#000000" points="324.266,-2388.42 334.86,-2388.42 326.577,-2381.82 324.266,-2388.42"/>
</g>
<!-- sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge8" class="edge"><title>sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M541.298,-764.043C556.755,-788.089 592.591,-843.146 625,-887.84 642.994,-912.655 664.834,-940.306 679.5,-958.543"/>
<polygon fill="#000000" stroke="#000000" points="677.069,-961.104 686.074,-966.686 682.516,-956.707 677.069,-961.104"/>
</g>
<!-- sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge56" class="edge"><title>sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M550.583,-763.93C579.158,-784.152 636.803,-824.947 670.295,-848.648"/>
<polygon fill="#000000" stroke="#000000" points="668.472,-851.646 678.657,-854.566 672.516,-845.932 668.472,-851.646"/>
</g>
<!-- sourcefile~xdmf_parameters.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node14" class="node"><title>sourcefile~xdmf_parameters.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node14"><a xlink:href="../sourcefile/xdmf_parameters.f90.html" xlink:title="xdmf_parameters.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="115,-2326.84 7.10543e-15,-2326.84 7.10543e-15,-2302.84 115,-2302.84 115,-2326.84"/>
<text text-anchor="middle" x="57.5" y="-2312.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_parameters.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_parameters.f90&#45;&gt;sourcefile~xdmf_utils.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge3" class="edge"><title>sourcefile~xdmf_parameters.f90&#45;&gt;sourcefile~xdmf_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M115.099,-2314.84C130.461,-2314.84 146.956,-2314.84 161.838,-2314.84"/>
<polygon fill="#000000" stroke="#000000" points="161.849,-2318.34 171.849,-2314.84 161.849,-2311.34 161.849,-2318.34"/>
</g>
<!-- sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node15" class="node"><title>sourcefile~fox_xdmf.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node15"><a xlink:href="../sourcefile/fox_xdmf.f90.html" xlink:title="fox_xdmf.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="569.5,-2410.84 495.5,-2410.84 495.5,-2386.84 569.5,-2386.84 569.5,-2410.84"/>
<text text-anchor="middle" x="532.5" y="-2396.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">fox_xdmf.f90</text>
</a>
</g>
</g>
<!-- sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge45" class="edge"><title>sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M569.784,-2388.47C577.233,-2384.71 584.243,-2379.64 589,-2372.84 641.168,-2298.25 584.097,-2046.15 625,-1964.84 678.147,-1859.19 806.801,-1787.76 871.101,-1757.37"/>
<polygon fill="#000000" stroke="#000000" points="872.881,-1760.41 880.476,-1753.02 869.932,-1754.06 872.881,-1760.41"/>
</g>
<!-- sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge75" class="edge"><title>sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M549.634,-2410.95C567.133,-2423.26 596.411,-2441.54 625,-2448.84 687.01,-2464.68 706.007,-2460.15 769,-2448.84 996.689,-2407.98 1119.69,-2454 1257,-2267.84 1299.87,-2209.72 1279.43,-1689.78 1293,-1618.84 1321.83,-1468.09 1392.64,-1296.24 1418.42,-1236.58"/>
<polygon fill="#000000" stroke="#000000" points="1421.77,-1237.65 1422.55,-1227.08 1415.35,-1234.85 1421.77,-1237.65"/>
</g>
<!-- sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge69" class="edge"><title>sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M569.532,-2388.98C577.184,-2385.18 584.348,-2379.97 589,-2372.84 681.742,-2230.71 522.412,-981.038 625,-845.84 734.545,-701.474 882.908,-850.91 1015,-726.84 1048.21,-695.643 1017.07,-661.255 1051,-630.84 1054.98,-627.272 1059.38,-624.18 1064.06,-621.502"/>
<polygon fill="#000000" stroke="#000000" points="1065.98,-624.455 1073.35,-616.845 1062.84,-618.197 1065.98,-624.455"/>
</g>
<!-- sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge108" class="edge"><title>sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M569.537,-2388.98C577.189,-2385.18 584.352,-2379.97 589,-2372.84 637.546,-2298.35 586.711,-853.084 625,-772.84 661.123,-697.135 717.893,-717.354 769,-650.84 791.772,-621.203 775.069,-597.225 805,-574.84 880.66,-518.255 946.991,-607.422 1015,-541.84 1075.3,-483.695 988.086,-412.142 1051,-356.84 1085.7,-326.343 1196.36,-322.142 1288.88,-324.531"/>
<polygon fill="#000000" stroke="#000000" points="1288.82,-328.031 1298.92,-324.818 1289.02,-321.034 1288.82,-328.031"/>
</g>
<!-- sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge141" class="edge"><title>sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2681.84C959.894,-2817.4 1315.33,-2542.98 1406.16,-2466.74"/>
<polygon fill="#000000" stroke="#000000" points="1408.52,-2469.33 1413.89,-2460.2 1404,-2463.99 1408.52,-2469.33"/>
</g>
<!-- sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge135" class="edge"><title>sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M569.94,-2389.9C672.969,-2364.62 967.107,-2292.45 1093.78,-2261.37"/>
<polygon fill="#000000" stroke="#000000" points="1094.82,-2264.72 1103.7,-2258.94 1093.15,-2257.92 1094.82,-2264.72"/>
</g>
<!-- sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge162" class="edge"><title>sourcefile~fox_xdmf.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M535.27,-2410.97C541.325,-2448.74 564.301,-2566.08 625,-2638.84 648.632,-2667.17 663.357,-2664.65 696,-2681.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M698,-2681.84C757.391,-2713.11 1218.47,-2507.8 1257,-2452.84 1315.47,-2369.42 1223.74,-2070.55 1293,-1995.84 1293.67,-1995.12 1294.35,-1994.41 1295.05,-1993.72"/>
<polygon fill="#000000" stroke="#000000" points="1297.62,-1996.14 1303,-1987.01 1293.1,-1990.79 1297.62,-1996.14"/>
</g>
<!-- sourcefile~xdmf_time.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge34" class="edge"><title>sourcefile~xdmf_time.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M414.088,-2367.33C435.776,-2373.15 462.871,-2380.42 485.567,-2386.51"/>
<polygon fill="#000000" stroke="#000000" points="484.756,-2389.92 495.322,-2389.13 486.571,-2383.16 484.756,-2389.92"/>
</g>
<!-- sourcefile~xdmf_topology.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge35" class="edge"><title>sourcefile~xdmf_topology.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M421.7,-2326.85C428.075,-2329.36 434.359,-2332.34 440,-2335.84 459.49,-2347.95 457.308,-2359.53 476,-2372.84 480.831,-2376.28 486.19,-2379.45 491.616,-2382.31"/>
<polygon fill="#000000" stroke="#000000" points="490.218,-2385.53 500.733,-2386.83 493.323,-2379.25 490.218,-2385.53"/>
</g>
<!-- sourcefile~xdmf_information.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node18" class="node"><title>sourcefile~xdmf_information.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node18"><a xlink:href="../sourcefile/xdmf_information.f90.html" xlink:title="xdmf_information.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="430.5,-2578.84 317.5,-2578.84 317.5,-2554.84 430.5,-2554.84 430.5,-2578.84"/>
<text text-anchor="middle" x="374" y="-2564.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_information.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_information.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge36" class="edge"><title>sourcefile~xdmf_information.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M425.118,-2554.72C430.426,-2552.27 435.515,-2549.34 440,-2545.84 482.963,-2512.27 510.977,-2452.48 523.659,-2420.48"/>
<polygon fill="#000000" stroke="#000000" points="526.931,-2421.72 527.237,-2411.13 520.393,-2419.22 526.931,-2421.72"/>
</g>
<!-- sourcefile~xdmf_file.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node19" class="node"><title>sourcefile~xdmf_file.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node19"><a xlink:href="../sourcefile/xdmf_file.f90.html" xlink:title="xdmf_file.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="410.5,-2200.84 337.5,-2200.84 337.5,-2176.84 410.5,-2176.84 410.5,-2200.84"/>
<text text-anchor="middle" x="374" y="-2186.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_file.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_file.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge37" class="edge"><title>sourcefile~xdmf_file.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M410.797,-2193.42C421.516,-2196.46 432.421,-2201.5 440,-2209.84 489.907,-2264.74 429.637,-2314.92 476,-2372.84 478.922,-2376.49 482.475,-2379.65 486.358,-2382.39"/>
<polygon fill="#000000" stroke="#000000" points="484.887,-2385.59 495.265,-2387.72 488.481,-2379.58 484.887,-2385.59"/>
</g>
<!-- sourcefile~xdmf_domain.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node20" class="node"><title>sourcefile~xdmf_domain.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node20"><a xlink:href="../sourcefile/xdmf_domain.f90.html" xlink:title="xdmf_domain.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="421.5,-2536.84 326.5,-2536.84 326.5,-2512.84 421.5,-2512.84 421.5,-2536.84"/>
<text text-anchor="middle" x="374" y="-2522.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_domain.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_domain.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge38" class="edge"><title>sourcefile~xdmf_domain.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M421.54,-2513.25C428.006,-2510.67 434.358,-2507.56 440,-2503.84 473.852,-2481.5 502.625,-2443.36 518.442,-2419.71"/>
<polygon fill="#000000" stroke="#000000" points="521.506,-2421.42 524.037,-2411.13 515.643,-2417.6 521.506,-2421.42"/>
</g>
<!-- sourcefile~xdmf_xinclude.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge39" class="edge"><title>sourcefile~xdmf_xinclude.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M423.613,-2283.47C429.563,-2286.18 435.219,-2289.58 440,-2293.84 468.808,-2319.51 448.86,-2345.41 476,-2372.84 479.245,-2376.12 482.983,-2379.03 486.954,-2381.61"/>
<polygon fill="#000000" stroke="#000000" points="485.498,-2384.81 495.918,-2386.73 488.971,-2378.73 485.498,-2384.81"/>
</g>
<!-- sourcefile~xdmf_dataitem.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge40" class="edge"><title>sourcefile~xdmf_dataitem.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M424.51,-2241.03C430.248,-2243.81 435.608,-2247.34 440,-2251.84 479.209,-2291.97 439.387,-2330.32 476,-2372.84 479.011,-2376.34 482.593,-2379.39 486.468,-2382.06"/>
<polygon fill="#000000" stroke="#000000" points="484.921,-2385.21 495.309,-2387.3 488.488,-2379.19 484.921,-2385.21"/>
</g>
<!-- sourcefile~xdmf_geometry.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge41" class="edge"><title>sourcefile~xdmf_geometry.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M418.354,-2470.78C425.725,-2468.18 433.192,-2465.19 440,-2461.84 464.979,-2449.53 490.885,-2431.07 508.729,-2417.31"/>
<polygon fill="#000000" stroke="#000000" points="511.092,-2419.9 516.801,-2410.98 506.772,-2414.4 511.092,-2419.9"/>
</g>
<!-- sourcefile~xdmf_character_data.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node24" class="node"><title>sourcefile~xdmf_character_data.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node24"><a xlink:href="../sourcefile/xdmf_character_data.f90.html" xlink:title="xdmf_character_data.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="440,-2158.84 308,-2158.84 308,-2134.84 440,-2134.84 440,-2158.84"/>
<text text-anchor="middle" x="374" y="-2144.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_character_data.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_character_data.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge42" class="edge"><title>sourcefile~xdmf_character_data.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M429.39,-2159.01C433.344,-2161.44 436.964,-2164.35 440,-2167.84 500.723,-2237.63 419.777,-2299.38 476,-2372.84 478.957,-2376.7 482.627,-2380.02 486.663,-2382.85"/>
<polygon fill="#000000" stroke="#000000" points="484.964,-2385.91 495.346,-2388.02 488.547,-2379.9 484.964,-2385.91"/>
</g>
<!-- sourcefile~xdmf_attribute.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge43" class="edge"><title>sourcefile~xdmf_attribute.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M419.847,-2428.8C440.416,-2423.28 464.777,-2416.75 485.487,-2411.19"/>
<polygon fill="#000000" stroke="#000000" points="486.577,-2414.52 495.328,-2408.55 484.762,-2407.76 486.577,-2414.52"/>
</g>
<!-- sourcefile~xdmf_grid.f90&#45;&gt;sourcefile~fox_xdmf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge44" class="edge"><title>sourcefile~xdmf_grid.f90&#45;&gt;sourcefile~fox_xdmf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M413.284,-2398.84C435.021,-2398.84 462.383,-2398.84 485.306,-2398.84"/>
<polygon fill="#000000" stroke="#000000" points="485.491,-2402.34 495.491,-2398.84 485.491,-2395.34 485.491,-2402.34"/>
</g>
<!-- sourcefile~xdmf_element.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_node27" class="node"><title>sourcefile~xdmf_element.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~EfferentGraph_node27"><a xlink:href="../sourcefile/xdmf_element.f90.html" xlink:title="xdmf_element.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="260.5,-2410.84 162.5,-2410.84 162.5,-2386.84 260.5,-2386.84 260.5,-2410.84"/>
<text text-anchor="middle" x="211.5" y="-2396.44" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_element.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_time.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge18" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_time.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M258.493,-2386.8C278.951,-2381.45 303.067,-2375.14 323.877,-2369.69"/>
<polygon fill="#000000" stroke="#000000" points="325.009,-2373.02 333.797,-2367.1 323.237,-2366.24 325.009,-2373.02"/>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_topology.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge20" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_topology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M227.933,-2386.75C246.193,-2372.91 277.921,-2350.29 308,-2335.84 312.017,-2333.91 316.255,-2332.09 320.563,-2330.4"/>
<polygon fill="#000000" stroke="#000000" points="321.883,-2333.64 330.047,-2326.89 319.454,-2327.08 321.883,-2333.64"/>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_information.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge22" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_information.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M217.105,-2411.13C228.259,-2439.24 259.435,-2508.65 308,-2545.84 310.018,-2547.39 312.154,-2548.82 314.375,-2550.15"/>
<polygon fill="#000000" stroke="#000000" points="312.795,-2553.27 323.281,-2554.78 316.025,-2547.06 312.795,-2553.27"/>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_domain.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge23" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_domain.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M220.423,-2411.12C235.105,-2432.92 268.65,-2478.47 308,-2503.84 310.791,-2505.64 313.749,-2507.3 316.804,-2508.82"/>
<polygon fill="#000000" stroke="#000000" points="315.632,-2512.13 326.191,-2513 318.482,-2505.74 315.632,-2512.13"/>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_xinclude.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge24" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_xinclude.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M224.533,-2386.46C236.682,-2373.87 255.899,-2353.73 272,-2335.84 288.445,-2317.56 287.535,-2307.46 308,-2293.84 310.534,-2292.15 313.214,-2290.59 315.984,-2289.15"/>
<polygon fill="#000000" stroke="#000000" points="317.471,-2292.32 325.074,-2284.94 314.529,-2285.97 317.471,-2292.32"/>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_dataitem.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge26" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_dataitem.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M226.498,-2386.72C239.597,-2374.81 259.039,-2355.59 272,-2335.84 294.289,-2301.88 277.983,-2279.2 308,-2251.84 309.955,-2250.06 312.064,-2248.43 314.284,-2246.93"/>
<polygon fill="#000000" stroke="#000000" points="316.325,-2249.8 323.31,-2241.83 312.882,-2243.71 316.325,-2249.8"/>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_geometry.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge28" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_geometry.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M227.933,-2410.93C246.193,-2424.77 277.921,-2447.39 308,-2461.84 312.017,-2463.77 316.255,-2465.59 320.563,-2467.28"/>
<polygon fill="#000000" stroke="#000000" points="319.454,-2470.6 330.047,-2470.79 321.883,-2464.04 319.454,-2470.6"/>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_attribute.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge30" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_attribute.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M258.493,-2410.88C276.793,-2415.66 298.02,-2421.22 317.19,-2426.24"/>
<polygon fill="#000000" stroke="#000000" points="316.44,-2429.66 327,-2428.8 318.212,-2422.89 316.44,-2429.66"/>
</g>
<!-- sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge32" class="edge"><title>sourcefile~xdmf_element.f90&#45;&gt;sourcefile~xdmf_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M260.655,-2398.84C280.863,-2398.84 304.322,-2398.84 324.56,-2398.84"/>
<polygon fill="#000000" stroke="#000000" points="324.816,-2402.34 334.816,-2398.84 324.816,-2395.34 324.816,-2402.34"/>
</g>
<!-- sourcefile~unstructured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge179" class="edge"><title>sourcefile~unstructured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1840.17,-1174.84C1848.96,-1174.84 1857.57,-1174.84 1865.72,-1174.84"/>
<polygon fill="#000000" stroke="#000000" points="1865.8,-1178.34 1875.8,-1174.84 1865.8,-1171.34 1865.8,-1178.34"/>
</g>
<!-- sourcefile~structured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge180" class="edge"><title>sourcefile~structured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1724.77,-425.118C1748.02,-512.37 1888.16,-1038.43 1918.65,-1152.88"/>
<polygon fill="#000000" stroke="#000000" points="1915.29,-1153.87 1921.25,-1162.64 1922.06,-1152.07 1915.29,-1153.87"/>
</g>
<!-- sourcefile~unstructured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge181" class="edge"><title>sourcefile~unstructured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1726.93,-1620.59C1754.51,-1558.37 1879.14,-1277.19 1914.89,-1196.53"/>
<polygon fill="#000000" stroke="#000000" points="1918.3,-1197.48 1919.15,-1186.92 1911.9,-1194.64 1918.3,-1197.48"/>
</g>
<!-- sourcefile~structured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge183" class="edge"><title>sourcefile~structured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1794.03,-1204.79C1809.25,-1202.04 1825.18,-1198.99 1840,-1195.84 1849.33,-1193.86 1859.19,-1191.58 1868.76,-1189.26"/>
<polygon fill="#000000" stroke="#000000" points="1869.7,-1192.64 1878.58,-1186.86 1868.04,-1185.84 1869.7,-1192.64"/>
</g>
<!-- sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge88" class="edge"><title>sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1436.61,-616.925C1456.46,-653.288 1517.13,-764.973 1565,-858.84 1621.18,-969.001 1685.16,-1102.61 1709.44,-1153.64"/>
<polygon fill="#000000" stroke="#000000" points="1706.3,-1155.18 1713.75,-1162.71 1712.62,-1152.18 1706.3,-1155.18"/>
</g>
<!-- sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge89" class="edge"><title>sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1516.86,-1202.84C1550.13,-1198.24 1588.29,-1192.97 1622.46,-1188.25"/>
<polygon fill="#000000" stroke="#000000" points="1623.03,-1191.7 1632.45,-1186.87 1622.07,-1184.77 1623.03,-1191.7"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge95" class="edge"><title>sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M931.072,-1922.78C952.116,-1910.08 986.082,-1889.37 1015,-1870.84 1031.19,-1860.47 1034.78,-1857.17 1051,-1846.84 1095.75,-1818.34 1107.53,-1812.17 1153,-1784.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-1784.84C1237.24,-1735.42 1223.17,-1684.63 1293,-1618.84 1402.21,-1515.94 1486.77,-1546.89 1565,-1418.84 1617.34,-1333.17 1530.56,-1267.37 1601,-1195.84 1601.95,-1194.88 1602.92,-1193.95 1603.93,-1193.06"/>
<polygon fill="#000000" stroke="#000000" points="1606.24,-1195.69 1612.08,-1186.85 1602,-1190.12 1606.24,-1195.69"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge155" class="edge"><title>sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1155,-1784.84C1307.83,-1706.81 1505.01,-1665.55 1621.3,-1646.52"/>
<polygon fill="#000000" stroke="#000000" points="1621.95,-1649.96 1631.26,-1644.92 1620.83,-1643.05 1621.95,-1649.96"/>
</g>
<!-- sourcefile~unstructured_uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge96" class="edge"><title>sourcefile~unstructured_uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1015.21,-1089.6C1085.59,-1089.46 1179.43,-1096 1257,-1124.84 1275.5,-1131.72 1274.83,-1143.14 1293,-1150.84 1349.11,-1174.61 1367.36,-1168.83 1428,-1174.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-1174.84C1482.53,-1176.18 1540.44,-1176.42 1590.57,-1176.24"/>
<polygon fill="#000000" stroke="#000000" points="1590.83,-1179.74 1600.82,-1176.2 1590.8,-1172.74 1590.83,-1179.74"/>
</g>
<!-- sourcefile~unstructured_uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge156" class="edge"><title>sourcefile~unstructured_uniform_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M984.322,-1106.85C1057.32,-1121.13 1170.62,-1149.73 1257,-1200.84 1276.21,-1212.2 1275.16,-1222.43 1293,-1235.84 1404.22,-1319.45 1464.17,-1294.96 1565,-1390.84 1636.36,-1458.7 1689.59,-1565.94 1710.18,-1611.37"/>
<polygon fill="#000000" stroke="#000000" points="1707.01,-1612.87 1714.28,-1620.58 1713.41,-1610.02 1707.01,-1612.87"/>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge65" class="edge"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1172.07,-266.876C1195.11,-284.081 1235.72,-317.955 1257,-356.84 1292.83,-422.302 1249.94,-459.895 1293,-520.84 1315.57,-552.778 1354.5,-575.092 1384.77,-588.653"/>
<polygon fill="#000000" stroke="#000000" points="1383.7,-592.001 1394.27,-592.749 1386.47,-585.573 1383.7,-592.001"/>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge104" class="edge"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1175.25,-242.809C1196.06,-230.289 1229.25,-209.885 1257,-190.84 1311.17,-153.664 1372.26,-106.638 1404.75,-81.2019"/>
<polygon fill="#000000" stroke="#000000" points="1407.05,-83.8504 1412.75,-74.9224 1402.72,-78.3443 1407.05,-83.8504"/>
</g>
<!-- sourcefile~xdmf_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge78" class="edge"><title>sourcefile~xdmf_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1157.76,-616.921C1176.75,-699.996 1287.5,-1183.57 1293,-1188.84 1296.39,-1192.09 1300.05,-1194.99 1303.92,-1197.58"/>
<polygon fill="#000000" stroke="#000000" points="1302.33,-1200.7 1312.72,-1202.77 1305.89,-1194.67 1302.33,-1200.7"/>
</g>
<!-- sourcefile~xdmf_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge111" class="edge"><title>sourcefile~xdmf_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1166.37,-592.773C1187.06,-570.256 1231.07,-519.598 1257,-469.84 1280.96,-423.846 1254.14,-393.182 1293,-358.84 1296.77,-355.509 1300.83,-352.549 1305.12,-349.924"/>
<polygon fill="#000000" stroke="#000000" points="1307.08,-352.84 1314.2,-344.991 1303.74,-346.689 1307.08,-352.84"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge115" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M927.312,-508.756C949.909,-491.243 990.695,-456.731 1015,-418.84 1040.5,-379.08 1012.75,-346.558 1051,-318.84 1072.06,-303.577 1560.65,-309.105 1565,-311.84 1596.29,-331.532 1572.01,-363.89 1601,-386.84 1605.71,-390.567 1610.84,-393.786 1616.23,-396.565"/>
<polygon fill="#000000" stroke="#000000" points="1615,-399.847 1625.54,-400.836 1617.92,-393.485 1615,-399.847"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge170" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M922.611,-533.053C946.134,-557.623 1001.4,-614.465 1051,-658.84 1270.23,-854.989 1401.25,-831.458 1565,-1075.84 1595.99,-1122.1 1559.41,-1158.82 1601,-1195.84 1602.31,-1197.01 1603.67,-1198.13 1605.06,-1199.19"/>
<polygon fill="#000000" stroke="#000000" points="1603.16,-1202.13 1613.43,-1204.73 1607.02,-1196.29 1603.16,-1202.13"/>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge116" class="edge"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1439,-74.9091C1462.42,-106.783 1526.18,-196.427 1565,-278.84 1586.56,-324.613 1563.38,-353.004 1601,-386.84 1604.86,-390.316 1609.09,-393.364 1613.56,-396.033"/>
<polygon fill="#000000" stroke="#000000" points="1611.96,-399.149 1622.44,-400.713 1615.23,-392.956 1611.96,-399.149"/>
</g>
<!-- sourcefile~structured_uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge120" class="edge"><title>sourcefile~structured_uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1253.16,-455.405C1307.5,-462.441 1374.62,-476.956 1428,-506.84"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-506.84C1522.4,-558.575 1647.55,-471.703 1697.54,-431.533"/>
<polygon fill="#000000" stroke="#000000" points="1699.92,-434.108 1705.45,-425.066 1695.49,-428.691 1699.92,-434.108"/>
</g>
<!-- sourcefile~structured_uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge175" class="edge"><title>sourcefile~structured_uniform_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1430,-506.84C1490.27,-540.584 1528.57,-525.156 1565,-583.84 1636.86,-699.583 1510.45,-1094.06 1601,-1195.84 1601.64,-1196.56 1602.29,-1197.26 1602.96,-1197.93"/>
<polygon fill="#000000" stroke="#000000" points="1600.77,-1200.67 1610.63,-1204.53 1605.33,-1195.36 1600.77,-1200.67"/>
</g>
<!-- sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge123" class="edge"><title>sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1523.65,-344.914C1537.85,-348.433 1552.07,-352.976 1565,-358.84 1583.46,-367.21 1582.65,-378.233 1601,-386.84 1610.56,-391.325 1620.93,-395.05 1631.41,-398.142"/>
<polygon fill="#000000" stroke="#000000" points="1630.48,-401.516 1641.05,-400.806 1632.35,-394.769 1630.48,-401.516"/>
</g>
<!-- sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge148" class="edge"><title>sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1550.91,-2004.81C1555.87,-2002.24 1560.6,-1999.26 1565,-1995.84 1678.45,-1907.54 1709.73,-1720.01 1717.31,-1655.33"/>
<polygon fill="#000000" stroke="#000000" points="1720.83,-1655.37 1718.43,-1645.05 1713.87,-1654.61 1720.83,-1655.37"/>
</g>
<!-- sourcefile~xdmf_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge149" class="edge"><title>sourcefile~xdmf_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1434.32,-2435.69C1466.54,-2344.96 1669.46,-1773.7 1711.78,-1654.59"/>
<polygon fill="#000000" stroke="#000000" points="1715.11,-1655.66 1715.16,-1645.06 1708.51,-1653.32 1715.11,-1655.66"/>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge131" class="edge"><title>sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1254.33,-2015.57C1264.5,-2015.64 1274.96,-2015.72 1285.48,-2015.8"/>
<polygon fill="#000000" stroke="#000000" points="1285.54,-2019.3 1295.56,-2015.87 1285.59,-2012.3 1285.54,-2019.3"/>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge160" class="edge"><title>sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1179.5,-2002.74C1206.76,-1989.58 1252.33,-1968.47 1293,-1953.84 1317.46,-1945.04 1344.99,-1936.97 1368.78,-1930.56"/>
<polygon fill="#000000" stroke="#000000" points="1369.97,-1933.86 1378.73,-1927.91 1368.17,-1927.1 1369.97,-1933.86"/>
</g>
<!-- sourcefile~xdmf_dataset_per_process_handler.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge142" class="edge"><title>sourcefile~xdmf_dataset_per_process_handler.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1163.88,-2259.09C1191.55,-2297.09 1275.4,-2411.13 1293,-2421.84 1299.74,-2425.94 1306.99,-2429.42 1314.5,-2432.36"/>
<polygon fill="#000000" stroke="#000000" points="1313.55,-2435.73 1324.14,-2435.81 1315.91,-2429.14 1313.55,-2435.73"/>
</g>
<!-- sourcefile~xdmf_dataset_per_process_handler.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge163" class="edge"><title>sourcefile~xdmf_dataset_per_process_handler.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1171.95,-2234.74C1194.85,-2217.46 1235.31,-2183.5 1257,-2144.84 1290.33,-2085.42 1242.88,-2041.98 1293,-1995.84 1294.15,-1994.79 1295.32,-1993.77 1296.52,-1992.8"/>
<polygon fill="#000000" stroke="#000000" points="1298.7,-1995.54 1304.84,-1986.91 1294.66,-1989.83 1298.7,-1995.54"/>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge169" class="edge"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1436.72,-1903.75C1457.41,-1866.32 1521.35,-1748.65 1565,-1646.84 1630.6,-1493.84 1692.47,-1302.72 1712.65,-1238.8"/>
<polygon fill="#000000" stroke="#000000" points="1716.06,-1239.6 1715.72,-1229.01 1709.38,-1237.51 1716.06,-1239.6"/>
</g>
<!-- sourcefile~xdmf_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~EfferentGraph_edge171" class="edge"><title>sourcefile~xdmf_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1526.9,-1962.83C1541.44,-1957.04 1554.92,-1948.72 1565,-1936.84 1612,-1881.42 1586.5,-1683.04 1601,-1611.84 1630.59,-1466.54 1689.86,-1297.81 1711.42,-1238.66"/>
<polygon fill="#000000" stroke="#000000" points="1714.84,-1239.51 1714.99,-1228.92 1708.26,-1237.1 1714.84,-1239.51"/>
</g>
</g>
</svg>
</div>
                <script>var pansourcefilexh5for_handlerf90EfferentGraph = svgPanZoom('#sourcefilexh5for_handlerf90EfferentGraph', {
                    zoomEnabled: true,
                    controlIconsEnabled: true,
                    fit: true,
                    center: true,});
                    </script>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="190pt" height="32pt"
 viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/>
<!-- Source File -->
<g id="node1" class="node"><title>Source File</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/>
<text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node2" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/>
<text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a file to a file which depends upon it. A file 
    is dependent upon another if the latter must be compiled before the former
    can be.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
    
      
      <h3>Files Dependent On This One</h3>
      
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: sourcefile~~xh5for_handler.f90~~AfferentGraph Pages: 1 -->
<svg id="sourcefilexh5for_handlerf90AfferentGraph" width="511pt" height="1166pt"
 viewBox="0.00 0.00 511.00 1166.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph" class="graph" transform="scale(1 1) rotate(0) translate(4 1162)">
<title>sourcefile~~xh5for_handler.f90~~AfferentGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1162 507,-1162 507,4 -4,4"/>
<!-- sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node1" class="node"><title>sourcefile~xh5for_handler.f90</title>
<polygon fill="none" stroke="black" points="103,-591 0,-591 0,-567 103,-567 103,-591"/>
<text text-anchor="middle" x="51.5" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50">xh5for_handler.f90</text>
</g>
<!-- sourcefile~xh5for.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node2" class="node"><title>sourcefile~xh5for.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node2"><a xlink:href="../sourcefile/xh5for.f90.html" xlink:title="xh5for.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="200,-591 139,-591 139,-567 200,-567 200,-591"/>
<text text-anchor="middle" x="169.5" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_handler.f90&#45;&gt;sourcefile~xh5for.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge29" class="edge"><title>sourcefile~xh5for_handler.f90&#45;&gt;sourcefile~xh5for.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M103.042,-579C111.628,-579 120.435,-579 128.695,-579"/>
<polygon fill="#000000" stroke="#000000" points="128.806,-582.5 138.806,-579 128.806,-575.5 128.806,-582.5"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node3" class="node"><title>sourcefile~xh5for_dpp_unstructured_tetrahedron.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node3"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="475.5,-1158 263.5,-1158 263.5,-1134 475.5,-1134 475.5,-1158"/>
<text text-anchor="middle" x="369.5" y="-1143.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge1" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.106,-591.445C175.004,-669.097 197.592,-1085.11 236,-1125 241.276,-1130.48 247.361,-1134.9 253.965,-1138.45"/>
<polygon fill="#000000" stroke="#000000" points="252.718,-1141.73 263.263,-1142.76 255.662,-1135.38 252.718,-1141.73"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_hexahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node4" class="node"><title>sourcefile~xh5for_dpp_unstructured_hexahedron.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node4"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html" xlink:title="xh5for_dpp_unstructured_hexahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="476.5,-1116 262.5,-1116 262.5,-1092 476.5,-1092 476.5,-1116"/>
<text text-anchor="middle" x="369.5" y="-1101.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_hexahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_hexahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge2" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_hexahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.201,-591.289C168.76,-661.4 165.259,-1010.25 236,-1083 241.018,-1088.16 246.756,-1092.38 252.967,-1095.81"/>
<polygon fill="#000000" stroke="#000000" points="251.842,-1099.15 262.375,-1100.3 254.853,-1092.84 251.842,-1099.15"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node5" class="node"><title>sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node5"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_non_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="503,-1074 236,-1074 236,-1050 503,-1050 503,-1074"/>
<text text-anchor="middle" x="369.5" y="-1059.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_non_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge3" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.361,-591.127C169.866,-657.366 170.949,-974.877 236,-1041 236.817,-1041.83 237.652,-1042.64 238.505,-1043.42"/>
<polygon fill="#000000" stroke="#000000" points="236.611,-1046.38 246.629,-1049.83 240.948,-1040.89 236.611,-1046.38"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_static_mixed_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node6" class="node"><title>sourcefile~xh5for_ch_unstructured_static_mixed_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node6"><a xlink:href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html" xlink:title="xh5for_ch_unstructured_static_mixed_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="491.5,-1032 247.5,-1032 247.5,-1008 491.5,-1008 491.5,-1032"/>
<text text-anchor="middle" x="369.5" y="-1017.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_static_mixed_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_mixed_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge4" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_mixed_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.55,-591.248C171.072,-654.077 176.715,-939.568 236,-999 236.971,-999.974 237.969,-1000.91 238.99,-1001.82"/>
<polygon fill="#000000" stroke="#000000" points="237.193,-1004.85 247.261,-1008.15 241.449,-999.296 237.193,-1004.85"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node7" class="node"><title>sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node7"><a xlink:href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_non_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="499.5,-990 239.5,-990 239.5,-966 499.5,-966 499.5,-990"/>
<text text-anchor="middle" x="369.5" y="-975.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_non_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge5" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.779,-591.18C172.39,-650.02 182.401,-904.167 236,-957 236.956,-957.943 237.937,-958.854 238.94,-959.734"/>
<polygon fill="#000000" stroke="#000000" points="236.966,-962.629 247.046,-965.892 241.2,-957.055 236.966,-962.629"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_quadilateral.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node8" class="node"><title>sourcefile~xh5for_ch_unstructured_quadilateral.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node8"><a xlink:href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html" xlink:title="xh5for_ch_unstructured_quadilateral.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="472,-948 267,-948 267,-924 472,-924 472,-948"/>
<text text-anchor="middle" x="369.5" y="-933.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_quadilateral.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_quadilateral.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge6" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_quadilateral.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.07,-591.271C173.879,-646.193 188.108,-868.772 236,-915 242.263,-921.046 249.522,-925.773 257.351,-929.44"/>
<polygon fill="#000000" stroke="#000000" points="256.198,-932.749 266.78,-933.271 258.833,-926.264 256.198,-932.749"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node9" class="node"><title>sourcefile~xh5for_dpp_regular_non_static_grid_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node9"><a xlink:href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html" xlink:title="xh5for_dpp_regular_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="488.5,-906 250.5,-906 250.5,-882 488.5,-882 488.5,-906"/>
<text text-anchor="middle" x="369.5" y="-891.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge7" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.421,-591.077C175.508,-641.349 193.703,-833.248 236,-873 237.758,-874.652 239.591,-876.205 241.49,-877.664"/>
<polygon fill="#000000" stroke="#000000" points="239.946,-880.841 250.208,-883.476 243.828,-875.017 239.946,-880.841"/>
</g>
<!-- sourcefile~xh5for_ch_regular_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node10" class="node"><title>sourcefile~xh5for_ch_regular_grid.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node10"><a xlink:href="../sourcefile/xh5for_ch_regular_grid.f90.html" xlink:title="xh5for_ch_regular_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="440.5,-864 298.5,-864 298.5,-840 440.5,-840 440.5,-864"/>
<text text-anchor="middle" x="369.5" y="-849.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge8" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.912,-591.186C177.469,-636.965 199.342,-797.74 236,-831 250.321,-843.994 269.29,-850.768 288.386,-853.991"/>
<polygon fill="#000000" stroke="#000000" points="287.975,-857.467 298.359,-855.366 288.931,-850.533 287.975,-857.467"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node11" class="node"><title>sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node11"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html" xlink:title="xh5for_ch_rectilinear_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="491.5,-822 247.5,-822 247.5,-798 491.5,-798 491.5,-822"/>
<text text-anchor="middle" x="369.5" y="-807.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge9" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.21,-591.042C170.048,-627.298 174.893,-736.177 236,-789 237.333,-790.152 238.702,-791.254 240.105,-792.308"/>
<polygon fill="#000000" stroke="#000000" points="238.209,-795.251 248.484,-797.838 242.065,-789.408 238.209,-795.251"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_triangles.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node12" class="node"><title>sourcefile~xh5for_ch_unstructured_triangles.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node12"><a xlink:href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html" xlink:title="xh5for_ch_unstructured_triangles.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="464.5,-780 274.5,-780 274.5,-756 464.5,-756 464.5,-780"/>
<text text-anchor="middle" x="369.5" y="-765.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_triangles.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_triangles.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge10" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_triangles.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.273,-591.093C173.97,-622.414 185.779,-706.545 236,-747 244.471,-753.824 254.261,-758.857 264.607,-762.525"/>
<polygon fill="#000000" stroke="#000000" points="263.654,-765.894 274.243,-765.522 265.734,-759.21 263.654,-765.894"/>
</g>
<!-- sourcefile~xh5for_ch_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node13" class="node"><title>sourcefile~xh5for_ch_regular_non_static_grid_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node13"><a xlink:href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html" xlink:title="xh5for_ch_regular_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="485,-738 254,-738 254,-714 485,-714 485,-738"/>
<text text-anchor="middle" x="369.5" y="-723.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge11" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M172.964,-591.078C178.87,-616.697 196.392,-676.466 236,-705 238.874,-707.071 241.875,-708.97 244.977,-710.71"/>
<polygon fill="#000000" stroke="#000000" points="243.455,-713.862 253.965,-715.204 246.586,-707.601 243.455,-713.862"/>
</g>
<!-- sourcefile~xh5for_ch_regular_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node14" class="node"><title>sourcefile~xh5for_ch_regular_static_grid_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node14"><a xlink:href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html" xlink:title="xh5for_ch_regular_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="473,-696 266,-696 266,-672 473,-672 473,-696"/>
<text text-anchor="middle" x="369.5" y="-681.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge12" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M176.174,-591.094C185.676,-609.882 206.691,-645.715 236,-663 242.344,-666.742 249.144,-669.879 256.188,-672.505"/>
<polygon fill="#000000" stroke="#000000" points="255.333,-675.91 265.927,-675.777 257.562,-669.275 255.333,-675.91"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node15" class="node"><title>sourcefile~xh5for_dpp_rectilinear_grid.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node15"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html" xlink:title="xh5for_dpp_rectilinear_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="450,-654 289,-654 289,-630 450,-630 450,-654"/>
<text text-anchor="middle" x="369.5" y="-639.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge13" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M185.404,-591.126C198.086,-600.787 217.189,-613.84 236,-621 249.53,-626.15 264.3,-630.036 278.912,-632.97"/>
<polygon fill="#000000" stroke="#000000" points="278.512,-636.456 288.985,-634.853 279.798,-629.575 278.512,-636.456"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node16" class="node"><title>sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node16"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html" xlink:title="xh5for_dpp_rectilinear_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="482.5,-612 256.5,-612 256.5,-588 482.5,-588 482.5,-612"/>
<text text-anchor="middle" x="369.5" y="-597.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge14" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M200.143,-582.144C213.039,-583.512 229.09,-585.214 246.121,-587.02"/>
<polygon fill="#000000" stroke="#000000" points="245.931,-590.52 256.245,-588.094 246.67,-583.559 245.931,-590.52"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node17" class="node"><title>sourcefile~xh5for_dpp_unstructured_mixedtopology.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node17"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html" xlink:title="xh5for_dpp_unstructured_mixedtopology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="482.5,-570 256.5,-570 256.5,-546 482.5,-546 482.5,-570"/>
<text text-anchor="middle" x="369.5" y="-555.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_mixedtopology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge15" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_mixedtopology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M200.143,-575.856C213.039,-574.488 229.09,-572.786 246.121,-570.98"/>
<polygon fill="#000000" stroke="#000000" points="246.67,-574.441 256.245,-569.906 245.931,-567.48 246.67,-574.441"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node18" class="node"><title>sourcefile~xh5for_dpp_regular_grid.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node18"><a xlink:href="../sourcefile/xh5for_dpp_regular_grid.f90.html" xlink:title="xh5for_dpp_regular_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="443.5,-528 295.5,-528 295.5,-504 443.5,-504 443.5,-528"/>
<text text-anchor="middle" x="369.5" y="-513.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge16" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M185.404,-566.874C198.086,-557.213 217.189,-544.16 236,-537 251.412,-531.134 268.435,-526.906 284.998,-523.86"/>
<polygon fill="#000000" stroke="#000000" points="285.965,-527.245 295.233,-522.111 284.787,-520.345 285.965,-527.245"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node19" class="node"><title>sourcefile~xh5for_ch_unstructured_tetrahedron.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node19"><a xlink:href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="472,-486 267,-486 267,-462 472,-462 472,-486"/>
<text text-anchor="middle" x="369.5" y="-471.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge17" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M176.174,-566.906C185.676,-548.118 206.691,-512.285 236,-495 242.7,-491.048 249.907,-487.771 257.375,-485.058"/>
<polygon fill="#000000" stroke="#000000" points="258.544,-488.358 266.955,-481.916 256.363,-481.707 258.544,-488.358"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_triangles.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node20" class="node"><title>sourcefile~xh5for_dpp_unstructured_triangles.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node20"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html" xlink:title="xh5for_dpp_unstructured_triangles.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="468,-444 271,-444 271,-420 468,-420 468,-444"/>
<text text-anchor="middle" x="369.5" y="-429.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_triangles.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_triangles.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge18" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_triangles.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M172.964,-566.922C178.87,-541.303 196.392,-481.534 236,-453 243.714,-447.443 252.337,-443.124 261.383,-439.79"/>
<polygon fill="#000000" stroke="#000000" points="262.527,-443.098 270.942,-436.661 260.349,-436.445 262.527,-443.098"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node21" class="node"><title>sourcefile~xh5for_dpp_regular_static_grid_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node21"><a xlink:href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html" xlink:title="xh5for_dpp_regular_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="476.5,-402 262.5,-402 262.5,-378 476.5,-378 476.5,-402"/>
<text text-anchor="middle" x="369.5" y="-387.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge19" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.273,-566.907C173.97,-535.586 185.779,-451.455 236,-411 241.301,-406.73 247.119,-403.161 253.266,-400.189"/>
<polygon fill="#000000" stroke="#000000" points="254.666,-403.397 262.486,-396.249 251.915,-396.96 254.666,-403.397"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node22" class="node"><title>sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node22"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="491,-360 248,-360 248,-336 491,-336 491,-360"/>
<text text-anchor="middle" x="369.5" y="-345.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge20" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.21,-566.958C170.048,-530.702 174.893,-421.823 236,-369 237.333,-367.848 238.702,-366.746 240.105,-365.692"/>
<polygon fill="#000000" stroke="#000000" points="242.065,-368.592 248.484,-360.162 238.209,-362.749 242.065,-368.592"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node23" class="node"><title>sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node23"><a xlink:href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html" xlink:title="xh5for_ch_unstructured_hexahedron_perf.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="485.5,-318 253.5,-318 253.5,-294 485.5,-294 485.5,-318"/>
<text text-anchor="middle" x="369.5" y="-303.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_hexahedron_perf.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge21" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.912,-566.814C177.469,-521.035 199.342,-360.26 236,-327 238.713,-324.539 241.592,-322.301 244.607,-320.268"/>
<polygon fill="#000000" stroke="#000000" points="246.6,-323.156 253.44,-315.066 243.047,-317.125 246.6,-323.156"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node24" class="node"><title>sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node24"><a xlink:href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="487.5,-276 251.5,-276 251.5,-252 487.5,-252 487.5,-276"/>
<text text-anchor="middle" x="369.5" y="-261.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge22" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.421,-566.923C175.508,-516.651 193.703,-324.752 236,-285 238.188,-282.944 240.491,-281.042 242.893,-279.283"/>
<polygon fill="#000000" stroke="#000000" points="244.869,-282.174 251.413,-273.841 241.102,-276.274 244.869,-282.174"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node25" class="node"><title>sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node25"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html" xlink:title="xh5for_dpp_rectilinear_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="494.5,-234 244.5,-234 244.5,-210 494.5,-210 494.5,-234"/>
<text text-anchor="middle" x="369.5" y="-219.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge23" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.07,-566.729C173.879,-511.807 188.108,-289.228 236,-243 236.99,-242.045 238.004,-241.122 239.042,-240.232"/>
<polygon fill="#000000" stroke="#000000" points="241.479,-242.782 247.425,-234.012 237.308,-237.16 241.479,-242.782"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node26" class="node"><title>sourcefile~xh5for_ch_unstructured_mixedtopology.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node26"><a xlink:href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html" xlink:title="xh5for_ch_unstructured_mixedtopology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="479,-192 260,-192 260,-168 479,-168 479,-192"/>
<text text-anchor="middle" x="369.5" y="-177.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_mixedtopology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge24" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_mixedtopology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.779,-566.82C172.39,-507.98 182.401,-253.833 236,-201 240.41,-196.653 245.333,-192.983 250.615,-189.895"/>
<polygon fill="#000000" stroke="#000000" points="252.478,-192.875 259.815,-185.232 249.313,-186.631 252.478,-192.875"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node27" class="node"><title>sourcefile~xh5for_ch_rectilinear_static_grid_series.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node27"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html" xlink:title="xh5for_ch_rectilinear_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="479.5,-150 259.5,-150 259.5,-126 479.5,-126 479.5,-150"/>
<text text-anchor="middle" x="369.5" y="-135.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge25" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.55,-566.752C171.072,-503.923 176.715,-218.432 236,-159 240.32,-154.669 245.149,-151.006 250.336,-147.919"/>
<polygon fill="#000000" stroke="#000000" points="252.097,-150.948 259.377,-143.251 248.886,-144.728 252.097,-150.948"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_quadilateral.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node28" class="node"><title>sourcefile~xh5for_dpp_unstructured_quadilateral.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node28"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html" xlink:title="xh5for_dpp_unstructured_quadilateral.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="475.5,-108 263.5,-108 263.5,-84 475.5,-84 475.5,-108"/>
<text text-anchor="middle" x="369.5" y="-93.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_quadilateral.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_quadilateral.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge26" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_quadilateral.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.361,-566.873C169.866,-500.634 170.949,-183.123 236,-117 241.334,-111.578 247.463,-107.198 254.098,-103.681"/>
<polygon fill="#000000" stroke="#000000" points="255.798,-106.752 263.432,-99.4054 252.883,-100.388 255.798,-106.752"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node29" class="node"><title>sourcefile~xh5for_ch_rectilinear_grid.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node29"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html" xlink:title="xh5for_ch_rectilinear_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="446.5,-66 292.5,-66 292.5,-42 446.5,-42 446.5,-66"/>
<text text-anchor="middle" x="369.5" y="-51.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_grid.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge27" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M170.201,-566.711C168.76,-496.6 165.259,-147.747 236,-75 248.284,-62.368 264.879,-55.368 282.164,-51.7744"/>
<polygon fill="#000000" stroke="#000000" points="283.122,-55.1619 292.394,-50.0354 281.949,-48.2609 283.122,-55.1619"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_hexahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_node30" class="node"><title>sourcefile~xh5for_ch_unstructured_hexahedron.f90</title>
<g id="a_sourcefile~~xh5for_handler.f90~~AfferentGraph_node30"><a xlink:href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html" xlink:title="xh5for_ch_unstructured_hexahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="473,-24 266,-24 266,-0 473,-0 473,-24"/>
<text text-anchor="middle" x="369.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_hexahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron.f90 -->
<g id="sourcefile~~xh5for_handler.f90~~AfferentGraph_edge28" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M171.106,-566.555C175.004,-488.903 197.592,-72.8877 236,-33 241.98,-26.7898 249.001,-21.9365 256.636,-18.1775"/>
<polygon fill="#000000" stroke="#000000" points="258.027,-21.3894 265.857,-14.2516 255.285,-14.9489 258.027,-21.3894"/>
</g>
</g>
</svg>
</div>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="190pt" height="32pt"
 viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/>
<!-- Source File -->
<g id="node1" class="node"><title>Source File</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/>
<text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node2" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/>
<text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a file to a file which depends upon it. A file 
    is dependent upon another if the latter must be compiled before the former
    can be.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
      
      <br>

    <section class="visible-xs visible-sm hidden-md">
      






<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#mods-1">Modules</a></h3></div>
  <div id="mods-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/xh5for_handler.html">xh5for_handler</a>
      
      <a class="list-group-item" href="../module/xh5for.html">xh5for</a>
      
    </div>
  </div>
</div>















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html#src">xh5for_handler.f90</a>
  </div>
</div>


    </section>
    <br class="visible-xs visible-sm hidden-md">

    <section>
      <h2><span class="anchor" id="src"></span>Source Code</h2>
    <div class="hl"><pre><a name="ln-1"></a><span class="k">module </span><span class="n">xh5for_handler</span>
<a name="ln-2"></a>
<a name="ln-3"></a><span class="k">use </span><span class="n">mpi_environment</span>
<a name="ln-4"></a><span class="k">use </span><span class="n">xh5for_utils</span>
<a name="ln-5"></a><span class="k">use </span><span class="n">xh5for_parameters</span>
<a name="ln-6"></a><span class="k">use </span><span class="n">uniform_grid_descriptor</span>
<a name="ln-7"></a><span class="k">use </span><span class="n">spatial_grid_descriptor</span>
<a name="ln-8"></a><span class="k">use </span><span class="n">steps_handler</span>
<a name="ln-9"></a><span class="k">use </span><span class="n">xdmf_handler</span>
<a name="ln-10"></a><span class="k">use </span><span class="n">hdf5_handler</span>
<a name="ln-11"></a><span class="k">use </span><span class="n">xh5for_abstract_factory</span>
<a name="ln-12"></a><span class="k">use </span><span class="n">xh5for_factory</span>
<a name="ln-13"></a><span class="k">use </span><span class="n">PENF</span><span class="p">,</span> <span class="n">only</span><span class="p">:</span> <span class="n">I4P</span><span class="p">,</span> <span class="n">I8P</span><span class="p">,</span> <span class="n">R4P</span><span class="p">,</span> <span class="n">R8P</span><span class="p">,</span> <span class="n">str</span>
<a name="ln-14"></a>
<a name="ln-15"></a>
<a name="ln-16"></a><span class="k">implicit none</span>
<a name="ln-17"></a>
<a name="ln-18"></a><span class="cp">#include &quot;assert.i90&quot;</span>
<a name="ln-19"></a>
<a name="ln-20"></a><span class="k">private</span>
<a name="ln-21"></a>
<a name="ln-22"></a><span class="k">    </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">private</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">XH5FOR_STATE_START</span>     <span class="o">=</span> <span class="mi">0</span>
<a name="ln-23"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">private</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">XH5FOR_STATE_OPEN</span>      <span class="o">=</span> <span class="mi">1</span>
<a name="ln-24"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">private</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">XH5FOR_STATE_INIT</span>      <span class="o">=</span> <span class="mi">2</span>
<a name="ln-25"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">private</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">XH5FOR_STATE_GRID_SET</span>  <span class="o">=</span> <span class="mi">3</span>
<a name="ln-26"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">private</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">XH5FOR_STATE_GRID_IO</span>   <span class="o">=</span> <span class="mi">4</span>
<a name="ln-27"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">private</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">XH5FOR_STATE_CLOSE</span>     <span class="o">=</span> <span class="mi">5</span>
<a name="ln-28"></a>
<a name="ln-29"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-30"></a>    <span class="c">! XH5FOR State Transition Diagram</span>
<a name="ln-31"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-32"></a>    <span class="c">! - This diagram controls the basic life cycle of the XH5For library</span>
<a name="ln-33"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-34"></a>    <span class="c">!       INIT STATE      |     ACTION      |      FINAL STATE</span>
<a name="ln-35"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-36"></a>    <span class="c">! START                 | Free            | START</span>
<a name="ln-37"></a>    <span class="c">! START                 | Open            | OPEN</span>
<a name="ln-38"></a>    <span class="c">! START                 | Close           | CLOSE</span>
<a name="ln-39"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-40"></a>    <span class="c">! OPEN                  | Free            | START</span>
<a name="ln-41"></a>    <span class="c">! OPEN                  | Clean           | OPEN</span>
<a name="ln-42"></a>    <span class="c">! OPEN                  | Open            | OPEN</span>
<a name="ln-43"></a>    <span class="c">! OPEN                  | Initialize      | INIT</span>
<a name="ln-44"></a>    <span class="c">! OPEN                  | SetGrid         | GRID_SET</span>
<a name="ln-45"></a>    <span class="c">! OPEN                  | ParseGrid       | GRID_SET</span>
<a name="ln-46"></a>    <span class="c">! OPEN                  | Close           | CLOSE</span>
<a name="ln-47"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-48"></a>    <span class="c">! INIT                  | Free            | START</span>
<a name="ln-49"></a>    <span class="c">! INIT                  | Clean           | OPEN</span>
<a name="ln-50"></a>    <span class="c">! INIT                  | Open            | OPEN</span>
<a name="ln-51"></a>    <span class="c">! INIT                  | SetGrid         | GRID_SET</span>
<a name="ln-52"></a>    <span class="c">! INIT                  | ParseGrid       | GRID_SET</span>
<a name="ln-53"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-54"></a>    <span class="c">! GRID_SET              | Free            | START</span>
<a name="ln-55"></a>    <span class="c">! GRID_SET              | Clean           | OPEN</span>
<a name="ln-56"></a>    <span class="c">! GRID_SET              | Open            | OPEN</span>
<a name="ln-57"></a>    <span class="c">! GRID_SET              | SetGrid         | GRID_SET</span>
<a name="ln-58"></a>    <span class="c">! GRID_SET              | ParseGrid       | GRID_SET</span>
<a name="ln-59"></a>    <span class="c">! GRID_SET              | Write*          | GRID_IO</span>
<a name="ln-60"></a>    <span class="c">! GRID_SET              | Read*           | GRID_IO</span>
<a name="ln-61"></a>    <span class="c">! GRID_SET              | Close           | CLOSE</span>
<a name="ln-62"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-63"></a>    <span class="c">! GRID_IO               | Free            | START</span>
<a name="ln-64"></a>    <span class="c">! GRID_IO               | Clean           | OPEN</span>
<a name="ln-65"></a>    <span class="c">! GRID_IO               | Open            | OPEN</span>
<a name="ln-66"></a>    <span class="c">! GRID_IO               | SetGrid         | GRID_SET</span>
<a name="ln-67"></a>    <span class="c">! GRID_IO               | ParseGrid       | GRID_SET</span>
<a name="ln-68"></a>    <span class="c">! GRID_IO               | Write*          | GRID_IO</span>
<a name="ln-69"></a>    <span class="c">! GRID_IO               | Read*           | GRID_IO</span>
<a name="ln-70"></a>    <span class="c">! GRID_IO               | Close           | CLOSE</span>
<a name="ln-71"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-72"></a>    <span class="c">! CLOSE                 | Free            | START</span>
<a name="ln-73"></a>    <span class="c">! CLOSE                 | Clean           | OPEN</span>
<a name="ln-74"></a>    <span class="c">! CLOSE                 | Open            | OPEN</span>
<a name="ln-75"></a>    <span class="c">! CLOSE                 | Initialize      | INIT</span>
<a name="ln-76"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-77"></a>
<a name="ln-78"></a>
<a name="ln-79"></a>    <span class="k">type</span> <span class="kd">::</span> <span class="n">xh5for_t</span>
<a name="ln-80"></a>    <span class="k">private</span>
<a name="ln-81"></a><span class="k">        </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                  <span class="kd">::</span> <span class="n">Strategy</span>   <span class="o">=</span> <span class="n">XDMF_STRATEGY_CONTIGUOUS_HYPERSLAB</span>
<a name="ln-82"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                  <span class="kd">::</span> <span class="n">GridType</span>   <span class="o">=</span> <span class="n">XDMF_GRID_TYPE_UNSTRUCTURED</span>
<a name="ln-83"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                  <span class="kd">::</span> <span class="n">State</span>      <span class="o">=</span> <span class="n">XH5FOR_STATE_START</span>
<a name="ln-84"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                  <span class="kd">::</span> <span class="n">Action</span>     <span class="o">=</span> <span class="n">XDMF_ACTION_WRITE</span>
<a name="ln-85"></a>        <span class="kt">logical</span>                                       <span class="kd">::</span> <span class="n">StaticGrid</span> <span class="o">=</span> <span class="p">.</span><span class="n">false</span><span class="p">.</span>
<a name="ln-86"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span>                 <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">Prefix</span>
<a name="ln-87"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span>                 <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">Path</span>
<a name="ln-88"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">)</span>                               <span class="kd">::</span> <span class="n">MPIEnvironment</span>
<a name="ln-89"></a>        <span class="k">type</span><span class="p">(</span><span class="n">steps_handler_t</span><span class="p">)</span>                         <span class="kd">::</span> <span class="n">StepsHandler</span>
<a name="ln-90"></a>        <span class="k">class</span><span class="p">(</span><span class="n">uniform_grid_descriptor_t</span><span class="p">),</span> <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">UniformGridDescriptor</span>
<a name="ln-91"></a>        <span class="k">class</span><span class="p">(</span><span class="n">spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">SpatialGridDescriptor</span>
<a name="ln-92"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xdmf_handler_t</span><span class="p">),</span>            <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">LightData</span>
<a name="ln-93"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>            <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">HeavyData</span>
<a name="ln-94"></a>    <span class="k">contains</span>
<a name="ln-95"></a><span class="k">    private</span>
<a name="ln-96"></a><span class="k">        procedure</span>         <span class="kd">::</span> <span class="n">xh5for_Initialize</span>
<a name="ln-97"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_Set_Unstructured_Grid_I4P</span>
<a name="ln-98"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_Set_Unstructured_Grid_I8P</span>
<a name="ln-99"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_Set_Structured_Grid_I4P</span>
<a name="ln-100"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_Set_Structured_Grid_I8P</span>
<a name="ln-101"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteGeometry_XYZ_R4P</span>
<a name="ln-102"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteGeometry_XYZ_R8P</span>
<a name="ln-103"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteGeometry_X_Y_Z_R4P</span>
<a name="ln-104"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteGeometry_X_Y_Z_R8P</span>
<a name="ln-105"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteGeometry_DXDYDZ_R4P</span>
<a name="ln-106"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteGeometry_DXDYDZ_R8P</span>
<a name="ln-107"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadGeometry_XYZ_R4P</span>
<a name="ln-108"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadGeometry_XYZ_R8P</span>
<a name="ln-109"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadGeometry_X_Y_Z_R4P</span>
<a name="ln-110"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadGeometry_X_Y_Z_R8P</span>
<a name="ln-111"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadGeometry_DXDYDZ_R4P</span>
<a name="ln-112"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadGeometry_DXDYDZ_R8P</span>
<a name="ln-113"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteTopology_I4P</span>
<a name="ln-114"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteTopology_I8P</span>
<a name="ln-115"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadTopology_I4P</span>
<a name="ln-116"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadTopology_I8P</span>
<a name="ln-117"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteAttribute_I4P</span>
<a name="ln-118"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteAttribute_I8P</span>
<a name="ln-119"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteAttribute_R4P</span>
<a name="ln-120"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_WriteAttribute_R8P</span>
<a name="ln-121"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadAttribute_I4P</span>
<a name="ln-122"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadAttribute_I8P</span>
<a name="ln-123"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadAttribute_R4P</span>
<a name="ln-124"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">xh5for_ReadAttribute_R8P</span>
<a name="ln-125"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">SetStrategy</span>           <span class="o">=&gt;</span> <span class="n">xh5for_SetStrategy</span>
<a name="ln-126"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">SetGridType</span>           <span class="o">=&gt;</span> <span class="n">xh5for_SetGridType</span>
<a name="ln-127"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">AppendStep</span>            <span class="o">=&gt;</span> <span class="n">xh5for_AppendStep</span>
<a name="ln-128"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">NextStep</span>              <span class="o">=&gt;</span> <span class="n">xh5for_NextStep</span>
<a name="ln-129"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetNumberOfSteps</span>      <span class="o">=&gt;</span> <span class="n">xh5for_GetNumberOfSteps</span>
<a name="ln-130"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">Initialize</span>            <span class="o">=&gt;</span> <span class="n">xh5for_Initialize</span>
<a name="ln-131"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">SetGrid</span>               <span class="o">=&gt;</span> <span class="n">xh5for_Set_Unstructured_Grid_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-132"></a>                                                      <span class="n">xh5for_Set_Unstructured_Grid_I8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-133"></a>                                                      <span class="n">xh5for_Set_Structured_Grid_I4P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-134"></a>                                                      <span class="n">xh5for_Set_Structured_Grid_I8P</span>
<a name="ln-135"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">Free</span>                  <span class="o">=&gt;</span> <span class="n">xh5for_Free</span>
<a name="ln-136"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">Clean</span>                 <span class="o">=&gt;</span> <span class="n">xh5for_Clean</span>
<a name="ln-137"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="k">Open</span>                  <span class="o">=&gt;</span> <span class="n">xh5for_Open</span>
<a name="ln-138"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">CheckOpenHeavyDataFile</span><span class="o">=&gt;</span> <span class="n">xh5for_CheckOpenHeavyDataFile</span>
<a name="ln-139"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">ParseGrid</span>             <span class="o">=&gt;</span> <span class="n">xh5for_ParseGrid</span>
<a name="ln-140"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">Serialize</span>             <span class="o">=&gt;</span> <span class="n">xh5for_Serialize</span>
<a name="ln-141"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="k">Close</span>                 <span class="o">=&gt;</span> <span class="n">xh5for_Close</span>
<a name="ln-142"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">WriteTopology</span>         <span class="o">=&gt;</span> <span class="n">xh5for_WriteTopology_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-143"></a>                                                      <span class="n">xh5for_WriteTopology_I8P</span>
<a name="ln-144"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">ReadTopology</span>          <span class="o">=&gt;</span> <span class="n">xh5for_ReadTopology_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-145"></a>                                                      <span class="n">xh5for_ReadTopology_I8P</span>
<a name="ln-146"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">WriteGeometry</span>         <span class="o">=&gt;</span> <span class="n">xh5for_WriteGeometry_XYZ_R4P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-147"></a>                                                      <span class="n">xh5for_WriteGeometry_XYZ_R8P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-148"></a>                                                      <span class="n">xh5for_WriteGeometry_X_Y_Z_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-149"></a>                                                      <span class="n">xh5for_WriteGeometry_X_Y_Z_R8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-150"></a>                                                      <span class="n">xh5for_WriteGeometry_DXDYDZ_R4P</span><span class="p">,&amp;</span>
<a name="ln-151"></a>                                                      <span class="n">xh5for_WriteGeometry_DXDYDZ_R8P</span>
<a name="ln-152"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">ReadGeometry</span>          <span class="o">=&gt;</span> <span class="n">xh5for_ReadGeometry_XYZ_R4P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-153"></a>                                                      <span class="n">xh5for_ReadGeometry_XYZ_R8P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-154"></a>                                                      <span class="n">xh5for_ReadGeometry_X_Y_Z_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-155"></a>                                                      <span class="n">xh5for_ReadGeometry_X_Y_Z_R8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-156"></a>                                                      <span class="n">xh5for_ReadGeometry_DXDYDZ_R4P</span><span class="p">,&amp;</span>
<a name="ln-157"></a>                                                      <span class="n">xh5for_ReadGeometry_DXDYDZ_R8P</span>
<a name="ln-158"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">WriteAttribute</span>        <span class="o">=&gt;</span> <span class="n">xh5for_WriteAttribute_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-159"></a>                                                      <span class="n">xh5for_WriteAttribute_I8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-160"></a>                                                      <span class="n">xh5for_WriteAttribute_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-161"></a>                                                      <span class="n">xh5for_WriteAttribute_R8P</span>
<a name="ln-162"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">ReadAttribute</span>         <span class="o">=&gt;</span> <span class="n">xh5for_ReadAttribute_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-163"></a>                                                      <span class="n">xh5for_ReadAttribute_I8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-164"></a>                                                      <span class="n">xh5for_ReadAttribute_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-165"></a>                                                      <span class="n">xh5for_ReadAttribute_R8P</span>
<a name="ln-166"></a>    <span class="k">end type </span><span class="n">xh5for_t</span>
<a name="ln-167"></a>
<a name="ln-168"></a>    <span class="k">class</span><span class="p">(</span><span class="n">xh5for_abstract_factory_t</span><span class="p">),</span> <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">TheFactory</span>
<a name="ln-169"></a>
<a name="ln-170"></a><span class="k">public</span>  <span class="kd">::</span> <span class="n">xh5for_t</span>
<a name="ln-171"></a><span class="k">private</span> <span class="kd">::</span> <span class="n">uniform_grid_descriptor_t</span>
<a name="ln-172"></a><span class="k">private</span> <span class="kd">::</span> <span class="n">spatial_grid_descriptor_t</span>
<a name="ln-173"></a><span class="k">private</span> <span class="kd">::</span> <span class="n">steps_handler_t</span>
<a name="ln-174"></a><span class="k">private</span> <span class="kd">::</span> <span class="n">xdmf_handler_t</span>
<a name="ln-175"></a><span class="k">private</span> <span class="kd">::</span> <span class="n">hdf5_handler_t</span>
<a name="ln-176"></a><span class="k">private</span> <span class="kd">::</span> <span class="n">xh5for_abstract_factory_t</span>
<a name="ln-177"></a><span class="k">private</span> <span class="kd">::</span> <span class="n">TheXH5ForFactoryCreator</span>
<a name="ln-178"></a>
<a name="ln-179"></a><span class="k">contains</span>
<a name="ln-180"></a>
<a name="ln-181"></a><span class="k">    subroutine </span><span class="n">xh5for_SetStrategy</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Strategy</span><span class="p">)</span>
<a name="ln-182"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-183"></a>    <span class="c">!&lt; Set the strategy of data handling</span>
<a name="ln-184"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-185"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-186"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">Strategy</span>
<a name="ln-187"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-188"></a>        <span class="k">if</span><span class="p">(</span><span class="n">isSupportedStrategy</span><span class="p">(</span><span class="n">Strategy</span><span class="p">))</span> <span class="n">this</span><span class="p">%</span><span class="n">Strategy</span> <span class="o">=</span> <span class="n">Strategy</span>
<a name="ln-189"></a>    <span class="k">end subroutine </span><span class="n">xh5for_SetStrategy</span>
<a name="ln-190"></a>
<a name="ln-191"></a>
<a name="ln-192"></a>    <span class="k">subroutine </span><span class="n">xh5for_SetGridType</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GridType</span><span class="p">)</span>
<a name="ln-193"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-194"></a>    <span class="c">!&lt; Set the strategy of data handling</span>
<a name="ln-195"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-196"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-197"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">GridType</span>
<a name="ln-198"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-199"></a>        <span class="k">if</span><span class="p">(</span><span class="n">isSupportedGridType</span><span class="p">(</span><span class="n">GridType</span><span class="p">))</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span> <span class="o">=</span> <span class="n">GridType</span>
<a name="ln-200"></a>    <span class="k">end subroutine </span><span class="n">xh5for_SetGridType</span>
<a name="ln-201"></a>
<a name="ln-202"></a>
<a name="ln-203"></a>    <span class="k">subroutine </span><span class="n">xh5for_AppendStep</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="k">Value</span><span class="p">)</span>
<a name="ln-204"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-205"></a>    <span class="c">!&lt; Append an step value to the serie and open HeavyData file</span>
<a name="ln-206"></a>    <span class="c">!&lt; for writing</span>
<a name="ln-207"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-208"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-209"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="k">Value</span>
<a name="ln-210"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-211"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-212"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-213"></a><span class="k">            if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">IsStaticStep</span><span class="p">()</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="p">.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">IsSpatialFileSerialized</span><span class="p">())</span> <span class="k">then</span>
<a name="ln-214"></a><span class="k">                call </span><span class="n">this</span><span class="p">%</span><span class="n">Serialize</span><span class="p">()</span>
<a name="ln-215"></a>            <span class="n">endif</span>
<a name="ln-216"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Clean</span><span class="p">()</span>
<a name="ln-217"></a>        <span class="n">endif</span>
<a name="ln-218"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">Append</span><span class="p">(</span><span class="k">Value</span><span class="o">=</span><span class="k">Value</span><span class="p">)</span>
<a name="ln-219"></a>    <span class="k">end subroutine </span><span class="n">xh5for_AppendStep</span>
<a name="ln-220"></a>
<a name="ln-221"></a>
<a name="ln-222"></a>    <span class="k">subroutine </span><span class="n">xh5for_NextStep</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-223"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-224"></a>    <span class="c">!&lt; Go to next step, read and comunicate metadata and open HeavyData </span>
<a name="ln-225"></a>    <span class="c">!&lt; file for reading</span>
<a name="ln-226"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-227"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-228"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-229"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-230"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">CloseSpatialFile</span><span class="p">()</span>
<a name="ln-231"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">Next</span><span class="p">()</span>
<a name="ln-232"></a>    <span class="k">end subroutine </span><span class="n">xh5for_NextStep</span>
<a name="ln-233"></a>
<a name="ln-234"></a>
<a name="ln-235"></a>    <span class="k">function </span><span class="n">xh5for_GetNumberOfSteps</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">NumberOfSteps</span><span class="p">)</span>
<a name="ln-236"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-237"></a>    <span class="c">!&lt; Return the number of steps in XDMF temporal file</span>
<a name="ln-238"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-239"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-240"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                    <span class="kd">::</span> <span class="n">NumberOfSteps</span>
<a name="ln-241"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-242"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_OPEN</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>  <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Initialize</span><span class="p">()</span>
<a name="ln-243"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_INIT</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>  <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">ParseTemporalFile</span><span class="p">()</span>
<a name="ln-244"></a>        <span class="n">NumberOfSteps</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">GetNumberOfSteps</span><span class="p">()</span>
<a name="ln-245"></a>    <span class="k">end function </span><span class="n">xh5for_GetNumberOfSteps</span>
<a name="ln-246"></a>
<a name="ln-247"></a>
<a name="ln-248"></a>    <span class="k">subroutine </span><span class="n">xh5for_Free</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-249"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-250"></a>    <span class="c">!&lt; Free XH5For derived type</span>
<a name="ln-251"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-252"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>   <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-253"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-254"></a>        <span class="n">this</span><span class="p">%</span><span class="n">Strategy</span> <span class="o">=</span> <span class="n">XDMF_STRATEGY_CONTIGUOUS_HYPERSLAB</span>
<a name="ln-255"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-256"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-257"></a>            <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">)</span>
<a name="ln-258"></a>        <span class="n">endif</span>
<a name="ln-259"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-260"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-261"></a>            <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">)</span>
<a name="ln-262"></a>        <span class="n">endif</span>
<a name="ln-263"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-264"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-265"></a>            <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">)</span>
<a name="ln-266"></a>        <span class="n">endif</span>
<a name="ln-267"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-268"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-269"></a>            <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-270"></a>        <span class="n">endif</span>
<a name="ln-271"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-272"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-273"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_START</span>
<a name="ln-274"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Free</span>
<a name="ln-275"></a>
<a name="ln-276"></a>
<a name="ln-277"></a>    <span class="k">subroutine </span><span class="n">xh5for_Clean</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-278"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-279"></a>    <span class="c">!&lt; Clean initialized</span>
<a name="ln-280"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-281"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>   <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-282"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-283"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">/=</span> <span class="n">XH5FOR_STATE_START</span><span class="p">)</span>
<a name="ln-284"></a>        <span class="c">! Build components from factory</span>
<a name="ln-285"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-286"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-287"></a>            <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">)</span>
<a name="ln-288"></a>        <span class="n">endif</span>
<a name="ln-289"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-290"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-291"></a>            <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-292"></a>        <span class="n">endif</span>
<a name="ln-293"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-294"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-295"></a>            <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">)</span>
<a name="ln-296"></a>        <span class="n">endif</span>
<a name="ln-297"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-298"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-299"></a>            <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">)</span>
<a name="ln-300"></a>        <span class="n">endif</span>
<a name="ln-301"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_OPEN</span>
<a name="ln-302"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Clean</span>
<a name="ln-303"></a>
<a name="ln-304"></a>
<a name="ln-305"></a>    <span class="k">subroutine </span><span class="n">xh5for_CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GridData</span><span class="p">)</span>
<a name="ln-306"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-307"></a>    <span class="c">!&lt; Check if the right HeavyDataFile is open. If not, open it</span>
<a name="ln-308"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-309"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>   <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-310"></a>        <span class="kt">logical</span><span class="p">,</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">GridData</span>
<a name="ln-311"></a>        <span class="kt">logical</span>                           <span class="kd">::</span> <span class="n">isGridData</span>
<a name="ln-312"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-313"></a>        <span class="n">isGridData</span> <span class="o">=</span> <span class="p">.</span><span class="n">false</span><span class="p">.</span>
<a name="ln-314"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">Present</span><span class="p">(</span><span class="n">GridData</span><span class="p">))</span> <span class="n">isGridData</span> <span class="o">=</span> <span class="n">GridData</span>
<a name="ln-315"></a>        <span class="k">if</span><span class="p">(</span><span class="n">isGridData</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">%</span><span class="n">isStaticGrid</span><span class="p">())</span> <span class="k">then</span>
<a name="ln-316"></a><span class="k">            if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">IsOpen</span><span class="p">())</span> <span class="k">then</span>
<a name="ln-317"></a><span class="k">                if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">IsStepFileOpen</span><span class="p">(</span><span class="n">XDMF_STATIC_STEP</span><span class="p">))</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">OpenFile</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">,</span> <span class="n">This</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span> <span class="n">This</span><span class="p">%</span><span class="n">Path</span><span class="p">,</span> <span class="n">XDMF_STATIC_STEP</span><span class="p">)</span>
<a name="ln-318"></a>            <span class="k">else</span>
<a name="ln-319"></a><span class="k">                call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">OpenFile</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">,</span> <span class="n">This</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">,</span> <span class="n">XDMF_STATIC_STEP</span><span class="p">)</span>
<a name="ln-320"></a>            <span class="n">endif</span>
<a name="ln-321"></a>        <span class="k">else</span>
<a name="ln-322"></a><span class="k">            if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">IsOpen</span><span class="p">())</span> <span class="k">then</span>
<a name="ln-323"></a><span class="k">                if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">IsStepFileOpen</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">GetCurrentStep</span><span class="p">()))</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">OpenFile</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">,</span> <span class="n">This</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">)</span>
<a name="ln-324"></a>            <span class="k">else</span>
<a name="ln-325"></a><span class="k">                call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">OpenFile</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">,</span> <span class="n">This</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">)</span>
<a name="ln-326"></a>            <span class="n">endif</span>
<a name="ln-327"></a>        <span class="n">endif</span>
<a name="ln-328"></a>    <span class="k">end subroutine</span>
<a name="ln-329"></a>
<a name="ln-330"></a>
<a name="ln-331"></a><span class="k">    subroutine </span><span class="n">xh5for_Open</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">FilePrefix</span><span class="p">,</span> <span class="n">Path</span><span class="p">,</span> <span class="n">GridType</span><span class="p">,</span> <span class="n">StaticGrid</span><span class="p">,</span> <span class="n">Strategy</span><span class="p">,</span> <span class="n">Action</span><span class="p">,</span> <span class="n">Comm</span><span class="p">,</span> <span class="n">Info</span><span class="p">,</span> <span class="n">Root</span><span class="p">)</span>
<a name="ln-332"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-333"></a>    <span class="c">!&lt; Open a XDMF (Temporal) file, set the MPI environment and also</span>
<a name="ln-334"></a>    <span class="c">!&lt; initialize the steps handler</span>
<a name="ln-335"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-336"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-337"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">FilePrefix</span>       <span class="c">!&lt; XDMF filename prefix</span>
<a name="ln-338"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Path</span>             <span class="c">!&lt; Root path</span>
<a name="ln-339"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GridType</span>         <span class="c">!&lt; XDMF grid type</span>
<a name="ln-340"></a>        <span class="kt">logical</span><span class="p">,</span>          <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">StaticGrid</span>       <span class="c">!&lt; Static grid flag</span>
<a name="ln-341"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Strategy</span>         <span class="c">!&lt; Data IO management strategy</span>
<a name="ln-342"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Action</span>           <span class="c">!&lt; XDMF Open file action (Read or Write)</span>
<a name="ln-343"></a>        <span class="kt">integer</span><span class="p">,</span>          <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Comm</span>             <span class="c">!&lt; MPI communicator</span>
<a name="ln-344"></a>        <span class="kt">integer</span><span class="p">,</span>          <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Info</span>             <span class="c">!&lt; MPI info</span>
<a name="ln-345"></a>        <span class="kt">integer</span><span class="p">,</span>          <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Root</span>             <span class="c">!&lt; MPI root procesor</span>
<a name="ln-346"></a>        <span class="kt">integer</span>                                   <span class="kd">::</span> <span class="n">error</span>            <span class="c">!&lt; Error variable</span>
<a name="ln-347"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-348"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-349"></a>
<a name="ln-350"></a>        <span class="c">! Assign Fileprefix, path, strategy and action</span>
<a name="ln-351"></a>        <span class="n">this</span><span class="p">%</span><span class="n">Prefix</span> <span class="o">=</span> <span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">FilePrefix</span><span class="p">))</span>
<a name="ln-352"></a>        <span class="n">this</span><span class="p">%</span><span class="n">Path</span>   <span class="o">=</span> <span class="s1">&#39;.&#39;</span>
<a name="ln-353"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Strategy</span><span class="p">))</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetStrategy</span><span class="p">(</span><span class="n">Strategy</span><span class="p">)</span>
<a name="ln-354"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">GridType</span><span class="p">))</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGridType</span><span class="p">(</span><span class="n">GridType</span><span class="p">)</span>
<a name="ln-355"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">StaticGrid</span><span class="p">))</span> <span class="n">this</span><span class="p">%</span><span class="n">StaticGrid</span> <span class="o">=</span> <span class="n">StaticGrid</span>
<a name="ln-356"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Action</span><span class="p">))</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">=</span> <span class="n">Action</span>
<a name="ln-357"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Path</span><span class="p">))</span>   <span class="n">this</span><span class="p">%</span><span class="n">Path</span> <span class="o">=</span> <span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">Path</span><span class="p">))</span>
<a name="ln-358"></a>
<a name="ln-359"></a>        <span class="c">! MPI environment initialization</span>
<a name="ln-360"></a>        <span class="k">call </span><span class="n">This</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span><span class="n">comm</span> <span class="o">=</span> <span class="n">comm</span><span class="p">,</span> <span class="n">root</span> <span class="o">=</span> <span class="n">root</span><span class="p">,</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">error</span><span class="p">)</span>
<a name="ln-361"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
<a name="ln-362"></a>
<a name="ln-363"></a>        <span class="c">! Create output directory if does not exist</span>
<a name="ln-364"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-365"></a><span class="k">            if</span><span class="p">(</span><span class="n">This</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">is_root</span><span class="p">())</span> <span class="k">then</span>
<a name="ln-366"></a><span class="k">                </span><span class="n">error</span> <span class="o">=</span> <span class="n">MkdirFullPath</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">)</span>
<a name="ln-367"></a>                <span class="n">assert</span><span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
<a name="ln-368"></a>            <span class="n">endif</span>
<a name="ln-369"></a>        <span class="n">endif</span>
<a name="ln-370"></a>        <span class="k">call </span><span class="n">This</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">Barrier</span><span class="p">(</span><span class="n">mpierror</span> <span class="o">=</span> <span class="n">error</span><span class="p">)</span>
<a name="ln-371"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
<a name="ln-372"></a>
<a name="ln-373"></a>        <span class="c">! Steps initialization</span>
<a name="ln-374"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">)</span>
<a name="ln-375"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_OPEN</span>
<a name="ln-376"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Open</span>
<a name="ln-377"></a>
<a name="ln-378"></a>
<a name="ln-379"></a>    <span class="k">subroutine </span><span class="n">xh5for_Initialize</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-380"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-381"></a>    <span class="c">!&lt; Apply strategy and create all components</span>
<a name="ln-382"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-383"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>   <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; XH5For derived type</span>
<a name="ln-384"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-385"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_OPEN</span><span class="p">)</span>
<a name="ln-386"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Clean</span><span class="p">()</span>
<a name="ln-387"></a>        <span class="c">! Build components from factory</span>
<a name="ln-388"></a>        <span class="k">call </span><span class="n">TheXH5ForFactoryCreator</span><span class="p">%</span><span class="n">CreateFactory</span><span class="p">(</span><span class="n">GridType</span><span class="o">=</span><span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">,</span> <span class="n">Strategy</span><span class="o">=</span><span class="n">this</span><span class="p">%</span><span class="n">Strategy</span><span class="p">,</span> <span class="n">AbstractFactory</span><span class="o">=</span><span class="n">TheFactory</span><span class="p">)</span>
<a name="ln-389"></a>        <span class="k">call </span><span class="n">TheFactory</span><span class="p">%</span><span class="n">CreateUniformGridDescriptor</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">)</span>
<a name="ln-390"></a>        <span class="k">call </span><span class="n">TheFactory</span><span class="p">%</span><span class="n">CreateSpatialGridDescriptor</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-391"></a>        <span class="k">call </span><span class="n">TheFactory</span><span class="p">%</span><span class="n">CreateXDMFHandler</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">)</span>
<a name="ln-392"></a>        <span class="k">call </span><span class="n">TheFactory</span><span class="p">%</span><span class="n">CreateHDF5Handler</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">)</span>
<a name="ln-393"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span><span class="n">MPIEnvironment</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span> <span class="n">StaticGrid</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StaticGrid</span><span class="p">)</span>
<a name="ln-394"></a>        <span class="c">! Light data initialization</span>
<a name="ln-395"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-396"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-397"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-398"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-399"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-400"></a>                <span class="n">FilePrefix</span>            <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span>                <span class="p">&amp;</span>
<a name="ln-401"></a>                <span class="n">Path</span>                  <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-402"></a>                <span class="n">Action</span>                <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">)</span>
<a name="ln-403"></a>        <span class="c">! Heavy data initialization</span>
<a name="ln-404"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-405"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-406"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-407"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-408"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-409"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_INIT</span>
<a name="ln-410"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Initialize</span>
<a name="ln-411"></a>
<a name="ln-412"></a>
<a name="ln-413"></a>    <span class="k">subroutine </span><span class="n">xh5for_Set_Unstructured_Grid_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">NumberOfNodes</span><span class="p">,</span> <span class="n">NumberOfElements</span><span class="p">,</span> <span class="n">TopologyType</span><span class="p">,</span> <span class="n">GeometryType</span><span class="p">)</span>
<a name="ln-414"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-415"></a>    <span class="c">!&lt; Set mesh metadata and initialize all library components</span>
<a name="ln-416"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-417"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>   <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; XH5For derived type</span>
<a name="ln-418"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">NumberOfNodes</span>            <span class="c">!&lt; Number of nodes of the current grid (I4P)</span>
<a name="ln-419"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">NumberOfElements</span>         <span class="c">!&lt; Number of elements of the current grid (I4P)</span>
<a name="ln-420"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">TopologyType</span>             <span class="c">!&lt; Topology type of the current grid</span>
<a name="ln-421"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">GeometryType</span>             <span class="c">!&lt; Geometry type of the current grid</span>
<a name="ln-422"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-423"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;=</span> <span class="n">XH5FOR_STATE_OPEN</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span> <span class="o">==</span> <span class="n">XDMF_GRID_TYPE_UNSTRUCTURED</span><span class="p">)</span>
<a name="ln-424"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_OPEN</span><span class="p">)</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Initialize</span><span class="p">()</span>
<a name="ln-425"></a>        <span class="c">! Uniform grid descriptor initialization</span>
<a name="ln-426"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>           <span class="p">&amp;</span>
<a name="ln-427"></a>                <span class="n">NumberOfNodes</span>    <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">NumberOfNodes</span><span class="p">,</span><span class="n">I8P</span><span class="p">),</span>    <span class="p">&amp;</span>
<a name="ln-428"></a>                <span class="n">NumberOfElements</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">NumberOfElements</span><span class="p">,</span><span class="n">I8P</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-429"></a>                <span class="n">TopologyType</span>     <span class="o">=</span> <span class="n">TopologyType</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-430"></a>                <span class="n">GeometryType</span>     <span class="o">=</span> <span class="n">GeometryType</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-431"></a>                <span class="n">GridType</span>         <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">)</span>
<a name="ln-432"></a>        <span class="c">! Spatial grid descriptor initialization</span>
<a name="ln-433"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>            <span class="p">&amp;</span>
<a name="ln-434"></a>                <span class="n">MPIEnvironment</span>   <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-435"></a>                <span class="n">NumberOfNodes</span>    <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">NumberOfNodes</span><span class="p">,</span><span class="n">I8P</span><span class="p">),</span>     <span class="p">&amp;</span>
<a name="ln-436"></a>                <span class="n">NumberOfElements</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">NumberOfElements</span><span class="p">,</span><span class="n">I8P</span><span class="p">),</span>  <span class="p">&amp;</span>
<a name="ln-437"></a>                <span class="n">TopologyType</span>     <span class="o">=</span> <span class="n">TopologyType</span><span class="p">,</span>               <span class="p">&amp;</span>
<a name="ln-438"></a>                <span class="n">GeometryType</span>     <span class="o">=</span> <span class="n">GeometryType</span><span class="p">,</span>               <span class="p">&amp;</span>
<a name="ln-439"></a>                <span class="n">GridType</span>         <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-440"></a>                <span class="n">StaticGrid</span>       <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StaticGrid</span><span class="p">)</span>
<a name="ln-441"></a>        <span class="c">! Light data initialization</span>
<a name="ln-442"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-443"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-444"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-445"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-446"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-447"></a>                <span class="n">FilePrefix</span>            <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span>                <span class="p">&amp;</span>
<a name="ln-448"></a>                <span class="n">Path</span>                  <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-449"></a>                <span class="n">Action</span>                <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">)</span>
<a name="ln-450"></a>        <span class="c">! Heavy data initialization</span>
<a name="ln-451"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-452"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-453"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-454"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-455"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-456"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_SET</span>
<a name="ln-457"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Set_Unstructured_Grid_I4P</span>
<a name="ln-458"></a>
<a name="ln-459"></a>
<a name="ln-460"></a>    <span class="k">subroutine </span><span class="n">xh5for_Set_Unstructured_Grid_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">NumberOfNodes</span><span class="p">,</span> <span class="n">NumberOfElements</span><span class="p">,</span> <span class="n">TopologyType</span><span class="p">,</span> <span class="n">GeometryType</span><span class="p">)</span>
<a name="ln-461"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-462"></a>    <span class="c">!&lt; Set mesh metadata and initialize all library components</span>
<a name="ln-463"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-464"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>   <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; XH5For derived type</span>
<a name="ln-465"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">NumberOfNodes</span>            <span class="c">!&lt; Number of nodes of the current grid (I8P)</span>
<a name="ln-466"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">NumberOfElements</span>         <span class="c">!&lt; Number of elements of the current grid (I8P)</span>
<a name="ln-467"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">TopologyType</span>             <span class="c">!&lt; Topology type of the current grid</span>
<a name="ln-468"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">GeometryType</span>             <span class="c">!&lt; Geometry type of the current grid</span>
<a name="ln-469"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-470"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;=</span> <span class="n">XH5FOR_STATE_OPEN</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span> <span class="o">==</span> <span class="n">XDMF_GRID_TYPE_UNSTRUCTURED</span><span class="p">)</span>
<a name="ln-471"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_OPEN</span><span class="p">)</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Initialize</span><span class="p">()</span>
<a name="ln-472"></a>        <span class="c">! Uniform grid descriptor initialization</span>
<a name="ln-473"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>           <span class="p">&amp;</span>
<a name="ln-474"></a>                <span class="n">NumberOfNodes</span>    <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">NumberOfNodes</span><span class="p">,</span><span class="n">I8P</span><span class="p">),</span>    <span class="p">&amp;</span>
<a name="ln-475"></a>                <span class="n">NumberOfElements</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">NumberOfElements</span><span class="p">,</span><span class="n">I8P</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-476"></a>                <span class="n">TopologyType</span>     <span class="o">=</span> <span class="n">TopologyType</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-477"></a>                <span class="n">GeometryType</span>     <span class="o">=</span> <span class="n">GeometryType</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-478"></a>                <span class="n">GridType</span>         <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">)</span>
<a name="ln-479"></a>        <span class="c">! Spatial grid descriptor initialization</span>
<a name="ln-480"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>           <span class="p">&amp;</span>
<a name="ln-481"></a>                <span class="n">MPIEnvironment</span>   <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>       <span class="p">&amp;</span>
<a name="ln-482"></a>                <span class="n">NumberOfNodes</span>    <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">NumberOfNodes</span><span class="p">,</span><span class="n">I8P</span><span class="p">),</span>    <span class="p">&amp;</span>
<a name="ln-483"></a>                <span class="n">NumberOfElements</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">NumberOfElements</span><span class="p">,</span><span class="n">I8P</span><span class="p">),</span> <span class="p">&amp;</span>
<a name="ln-484"></a>                <span class="n">TopologyType</span>     <span class="o">=</span> <span class="n">TopologyType</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-485"></a>                <span class="n">GeometryType</span>     <span class="o">=</span> <span class="n">GeometryType</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-486"></a>                <span class="n">GridType</span>         <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">,</span>             <span class="p">&amp;</span>
<a name="ln-487"></a>                <span class="n">StaticGrid</span>       <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StaticGrid</span><span class="p">)</span>
<a name="ln-488"></a>        <span class="c">! Light data initialization</span>
<a name="ln-489"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-490"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-491"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-492"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-493"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-494"></a>                <span class="n">FilePrefix</span>            <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span>                <span class="p">&amp;</span>
<a name="ln-495"></a>                <span class="n">Path</span>                  <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-496"></a>                <span class="n">Action</span>                <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">)</span>
<a name="ln-497"></a>        <span class="c">! Heavy data initialization</span>
<a name="ln-498"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-499"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-500"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-501"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-502"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-503"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_SET</span>
<a name="ln-504"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Set_Unstructured_Grid_I8P</span>
<a name="ln-505"></a>
<a name="ln-506"></a>
<a name="ln-507"></a>    <span class="k">subroutine </span><span class="n">xh5for_Set_Structured_Grid_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GridShape</span><span class="p">)</span>
<a name="ln-508"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-509"></a>    <span class="c">!&lt; Set mesh metadata and initialize all library components</span>
<a name="ln-510"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-511"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>   <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; XH5For derived type</span>
<a name="ln-512"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">GridShape</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>             <span class="c">!&lt; Shape of the grid</span>
<a name="ln-513"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">NumberOfNodes</span>            <span class="c">!&lt; Number of nodes of the current grid (I4P)</span>
<a name="ln-514"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">NumberOfElements</span>         <span class="c">!&lt; Number of elements of the current grid (I4P)</span>
<a name="ln-515"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">TopologyType</span>             <span class="c">!&lt; Topology type of the current grid</span>
<a name="ln-516"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">GeometryType</span>             <span class="c">!&lt; Geometry type of the current grid</span>
<a name="ln-517"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-518"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;=</span> <span class="n">XH5FOR_STATE_OPEN</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">GridType</span> <span class="o">==</span> <span class="n">XDMF_GRID_TYPE_REGULAR</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span> <span class="o">==</span> <span class="n">XDMF_GRID_TYPE_RECTILINEAR</span><span class="p">))</span>
<a name="ln-519"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_OPEN</span><span class="p">)</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Initialize</span><span class="p">()</span>
<a name="ln-520"></a>        <span class="c">! Uniform grid descriptor initialization</span>
<a name="ln-521"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span> <span class="p">&amp;</span>
<a name="ln-522"></a>                <span class="n">XDim</span>     <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>   <span class="p">&amp;</span>
<a name="ln-523"></a>                <span class="n">YDim</span>     <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>   <span class="p">&amp;</span>
<a name="ln-524"></a>                <span class="n">ZDim</span>     <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>   <span class="p">&amp;</span>
<a name="ln-525"></a>                <span class="n">GridType</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">)</span>
<a name="ln-526"></a>        <span class="c">! Spatial grid descriptor initialization</span>
<a name="ln-527"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>          <span class="p">&amp;</span>
<a name="ln-528"></a>                <span class="n">MPIEnvironment</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-529"></a>                <span class="n">XDim</span>       <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>          <span class="p">&amp;</span>
<a name="ln-530"></a>                <span class="n">YDim</span>       <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>          <span class="p">&amp;</span>
<a name="ln-531"></a>                <span class="n">ZDim</span>       <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>          <span class="p">&amp;</span>
<a name="ln-532"></a>                <span class="n">GridType</span>   <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-533"></a>                <span class="n">StaticGrid</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StaticGrid</span><span class="p">)</span>
<a name="ln-534"></a>        <span class="c">! Light data initialization</span>
<a name="ln-535"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-536"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-537"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-538"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-539"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-540"></a>                <span class="n">FilePrefix</span>            <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span>                <span class="p">&amp;</span>
<a name="ln-541"></a>                <span class="n">Path</span>                  <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-542"></a>                <span class="n">Action</span>                <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">)</span>
<a name="ln-543"></a>        <span class="c">! Heavy data initialization</span>
<a name="ln-544"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-545"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-546"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-547"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-548"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-549"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_SET</span>
<a name="ln-550"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Set_Structured_Grid_I4P</span>
<a name="ln-551"></a>
<a name="ln-552"></a>
<a name="ln-553"></a>    <span class="k">subroutine </span><span class="n">xh5for_Set_Structured_Grid_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GridShape</span><span class="p">)</span>
<a name="ln-554"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-555"></a>    <span class="c">!&lt; Set mesh metadata and initialize all library components</span>
<a name="ln-556"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-557"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>   <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; XH5For derived type</span>
<a name="ln-558"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>     <span class="kd">::</span> <span class="n">GridShape</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>             <span class="c">!&lt; GridShape</span>
<a name="ln-559"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">NumberOfNodes</span>            <span class="c">!&lt; Number of nodes of the current grid (I4P)</span>
<a name="ln-560"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">NumberOfElements</span>         <span class="c">!&lt; Number of elements of the current grid (I4P)</span>
<a name="ln-561"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">TopologyType</span>             <span class="c">!&lt; Topology type of the current grid</span>
<a name="ln-562"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">GeometryType</span>             <span class="c">!&lt; Geometry type of the current grid</span>
<a name="ln-563"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-564"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;=</span> <span class="n">XH5FOR_STATE_OPEN</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">GridType</span> <span class="o">==</span> <span class="n">XDMF_GRID_TYPE_REGULAR</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span> <span class="o">==</span> <span class="n">XDMF_GRID_TYPE_RECTILINEAR</span><span class="p">))</span>
<a name="ln-565"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_OPEN</span><span class="p">)</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Initialize</span><span class="p">()</span>
<a name="ln-566"></a>        <span class="c">! Uniform grid descriptor initialization</span>
<a name="ln-567"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span> <span class="p">&amp;</span>
<a name="ln-568"></a>                <span class="n">XDim</span> <span class="o">=</span> <span class="n">GridShape</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span>                <span class="p">&amp;</span>
<a name="ln-569"></a>                <span class="n">YDim</span> <span class="o">=</span> <span class="n">GridShape</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span>                <span class="p">&amp;</span>
<a name="ln-570"></a>                <span class="n">ZDim</span> <span class="o">=</span> <span class="n">GridShape</span><span class="p">(</span><span class="mi">3</span><span class="p">),</span>                <span class="p">&amp;</span>
<a name="ln-571"></a>                <span class="n">GridType</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">)</span>
<a name="ln-572"></a>        <span class="c">! Spatial grid descriptor initialization</span>
<a name="ln-573"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>            <span class="p">&amp;</span>
<a name="ln-574"></a>                <span class="n">MPIEnvironment</span>   <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-575"></a>                <span class="n">XDim</span>       <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>            <span class="p">&amp;</span>
<a name="ln-576"></a>                <span class="n">YDim</span>       <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>            <span class="p">&amp;</span>
<a name="ln-577"></a>                <span class="n">ZDim</span>       <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">GridShape</span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="n">I8P</span><span class="p">),</span>            <span class="p">&amp;</span>
<a name="ln-578"></a>                <span class="n">GridType</span>   <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GridType</span><span class="p">,</span>                    <span class="p">&amp;</span>
<a name="ln-579"></a>                <span class="n">StaticGrid</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StaticGrid</span><span class="p">)</span>
<a name="ln-580"></a>        <span class="c">! Light data initialization</span>
<a name="ln-581"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-582"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-583"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-584"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-585"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-586"></a>                <span class="n">FilePrefix</span>            <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="p">,</span>                <span class="p">&amp;</span>
<a name="ln-587"></a>                <span class="n">Path</span>                  <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-588"></a>                <span class="n">Action</span>                <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span><span class="p">)</span>
<a name="ln-589"></a>        <span class="c">! Heavy data initialization</span>
<a name="ln-590"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">Initialize</span><span class="p">(</span>                             <span class="p">&amp;</span>
<a name="ln-591"></a>                <span class="n">MPIEnvironment</span>        <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">,</span>        <span class="p">&amp;</span>
<a name="ln-592"></a>                <span class="n">StepsHandler</span>          <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">,</span>          <span class="p">&amp;</span>
<a name="ln-593"></a>                <span class="n">UniformGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-594"></a>                <span class="n">SpatialGridDescriptor</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-595"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_SET</span>
<a name="ln-596"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Set_Structured_Grid_I8P</span>
<a name="ln-597"></a>
<a name="ln-598"></a>
<a name="ln-599"></a>    <span class="k">subroutine </span><span class="n">xh5for_Serialize</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-600"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-601"></a>    <span class="c">!&lt; Serialize a XDMF file</span>
<a name="ln-602"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-603"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                        <span class="c">!&lt; XH5For derived type</span>
<a name="ln-604"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-605"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span>
<a name="ln-606"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-607"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SerializeSpatialFile</span><span class="p">()</span>
<a name="ln-608"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SerializeTemporalFile</span><span class="p">()</span>
<a name="ln-609"></a>            <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">IsOpen</span><span class="p">())</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">CloseFile</span><span class="p">()</span>
<a name="ln-610"></a>        <span class="n">endif</span>
<a name="ln-611"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Serialize</span>
<a name="ln-612"></a>
<a name="ln-613"></a>
<a name="ln-614"></a>    <span class="k">subroutine </span><span class="n">xh5for_ParseGrid</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-615"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-616"></a>    <span class="c">!&lt; Parse a XDMF file</span>
<a name="ln-617"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-618"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                        <span class="c">!&lt; XH5For derived type</span>
<a name="ln-619"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-620"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;=</span> <span class="n">XH5FOR_STATE_OPEN</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">/=</span> <span class="n">XH5FOR_STATE_CLOSE</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-621"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_OPEN</span><span class="p">)</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Initialize</span><span class="p">()</span>
<a name="ln-622"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">ParseSpatialFile</span><span class="p">()</span>
<a name="ln-623"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_SET</span>
<a name="ln-624"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ParseGrid</span>
<a name="ln-625"></a>
<a name="ln-626"></a>
<a name="ln-627"></a>    <span class="k">subroutine </span><span class="n">xh5for_Close</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-628"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-629"></a>    <span class="c">!&lt; Open a XDMF and HDF5 files</span>
<a name="ln-630"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-631"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                        <span class="c">!&lt; XH5For derived type</span>
<a name="ln-632"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-633"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-634"></a><span class="k">            if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">IsOpen</span><span class="p">())</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">CloseFile</span><span class="p">()</span>
<a name="ln-635"></a>            <span class="k">if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">IsStaticStep</span><span class="p">()</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="p">.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">IsSpatialFileSerialized</span><span class="p">())</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Serialize</span><span class="p">()</span>
<a name="ln-636"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">Clean</span><span class="p">()</span>
<a name="ln-637"></a>        <span class="n">endif</span>
<a name="ln-638"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_CLOSE</span>
<a name="ln-639"></a>    <span class="k">end subroutine </span><span class="n">xh5for_Close</span>
<a name="ln-640"></a>
<a name="ln-641"></a>
<a name="ln-642"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteGeometry_XYZ_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-643"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-644"></a>    <span class="c">!&lt; Write R4P Geometry</span>
<a name="ln-645"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-646"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-647"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>           <span class="c">!&lt; R4P grid geometry coordinates</span>
<a name="ln-648"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-649"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-650"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-651"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-652"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-653"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-654"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-655"></a>        <span class="k">else</span>
<a name="ln-656"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-657"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-658"></a>        <span class="n">endif</span>
<a name="ln-659"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-660"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteGeometry_XYZ_R4P</span>
<a name="ln-661"></a>
<a name="ln-662"></a>
<a name="ln-663"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteGeometry_XYZ_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-664"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-665"></a>    <span class="c">!&lt; Write R8P Geometry</span>
<a name="ln-666"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-667"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type                        </span>
<a name="ln-668"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>           <span class="c">!&lt; R8P grid geometry coordinates</span>
<a name="ln-669"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-670"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-671"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-672"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-673"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-674"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-675"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-676"></a>        <span class="k">else</span>
<a name="ln-677"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-678"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-679"></a>        <span class="n">endif</span>
<a name="ln-680"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-681"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteGeometry_XYZ_R8P</span>
<a name="ln-682"></a>
<a name="ln-683"></a>
<a name="ln-684"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteGeometry_X_Y_Z_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-685"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-686"></a>    <span class="c">!&lt; Write R4P Geometry</span>
<a name="ln-687"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-688"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-689"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">X</span><span class="p">(:)</span>             <span class="c">!&lt; X R4P grid geometry coordinates</span>
<a name="ln-690"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Y</span><span class="p">(:)</span>             <span class="c">!&lt; Y R4P grid geometry coordinates</span>
<a name="ln-691"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Z</span><span class="p">(:)</span>             <span class="c">!&lt; Z R4P grid geometry coordinates</span>
<a name="ln-692"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-693"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-694"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-695"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-696"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-697"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-698"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span> <span class="o">=</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-699"></a>        <span class="k">else</span>
<a name="ln-700"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-701"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span> <span class="o">=</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-702"></a>        <span class="n">endif</span>
<a name="ln-703"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-704"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteGeometry_X_Y_Z_R4P</span>
<a name="ln-705"></a>
<a name="ln-706"></a>
<a name="ln-707"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteGeometry_DXDYDZ_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-708"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-709"></a>    <span class="c">!&lt; Write R8P X_Y_Z Geometry</span>
<a name="ln-710"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-711"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-712"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Origin</span><span class="p">(:)</span>        <span class="c">!&lt; Origin of the grid coordinates</span>
<a name="ln-713"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">DxDyDz</span><span class="p">(:)</span>        <span class="c">!&lt; Step to the next point of the grid</span>
<a name="ln-714"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-715"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-716"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-717"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-718"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-719"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-720"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">Origin</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span> <span class="o">=</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-721"></a>        <span class="k">else</span>
<a name="ln-722"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-723"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">Origin</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span> <span class="o">=</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-724"></a>        <span class="n">endif</span>
<a name="ln-725"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-726"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteGeometry_DXDYDZ_R4P</span>
<a name="ln-727"></a>
<a name="ln-728"></a>
<a name="ln-729"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteGeometry_DXDYDZ_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-730"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-731"></a>    <span class="c">!&lt; Write R8P DXDYDZ Geometry</span>
<a name="ln-732"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-733"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-734"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Origin</span><span class="p">(:)</span>        <span class="c">!&lt; Origin of the grid coordinates</span>
<a name="ln-735"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">DxDyDz</span><span class="p">(:)</span>        <span class="c">!&lt; Step to the next point of the grid</span>
<a name="ln-736"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-737"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-738"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-739"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-740"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-741"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-742"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">Origin</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span> <span class="o">=</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-743"></a>        <span class="k">else</span>
<a name="ln-744"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-745"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">Origin</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span> <span class="o">=</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-746"></a>        <span class="n">endif</span>
<a name="ln-747"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-748"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteGeometry_DXDYDZ_R8P</span>
<a name="ln-749"></a>
<a name="ln-750"></a>
<a name="ln-751"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteGeometry_X_Y_Z_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-752"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-753"></a>    <span class="c">!&lt; Write R8P X_Y_Z Geometry</span>
<a name="ln-754"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-755"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-756"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">X</span><span class="p">(:)</span>             <span class="c">!&lt; X R4P grid geometry coordinates</span>
<a name="ln-757"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Y</span><span class="p">(:)</span>             <span class="c">!&lt; Y R4P grid geometry coordinates</span>
<a name="ln-758"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>                  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Z</span><span class="p">(:)</span>             <span class="c">!&lt; Z R4P grid geometry coordinates</span>
<a name="ln-759"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-760"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-761"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-762"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-763"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-764"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-765"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span> <span class="o">=</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-766"></a>        <span class="k">else</span>
<a name="ln-767"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-768"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteGeometry</span><span class="p">(</span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span> <span class="o">=</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-769"></a>        <span class="n">endif</span>
<a name="ln-770"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-771"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteGeometry_X_Y_Z_R8P</span>
<a name="ln-772"></a>
<a name="ln-773"></a>
<a name="ln-774"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadGeometry_XYZ_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-775"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-776"></a>    <span class="c">!&lt; Read XY[Z] R4P Geometry</span>
<a name="ln-777"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-778"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-779"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>           <span class="c">!&lt; R4P grid geometry coordinates</span>
<a name="ln-780"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-781"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-782"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-783"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-784"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-785"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-786"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-787"></a>        <span class="k">else</span>
<a name="ln-788"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-789"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-790"></a>        <span class="n">endif</span>
<a name="ln-791"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-792"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadGeometry_XYZ_R4P</span>
<a name="ln-793"></a>
<a name="ln-794"></a>
<a name="ln-795"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadGeometry_XYZ_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-796"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-797"></a>    <span class="c">!&lt; Read XY[Z] R8P Geometry</span>
<a name="ln-798"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-799"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-800"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>           <span class="c">!&lt; R8P grid geometry coordinates</span>
<a name="ln-801"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-802"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-803"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-804"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-805"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-806"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-807"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-808"></a>        <span class="k">else</span>
<a name="ln-809"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-810"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-811"></a>        <span class="n">endif</span>
<a name="ln-812"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-813"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadGeometry_XYZ_R8P</span>
<a name="ln-814"></a>
<a name="ln-815"></a>
<a name="ln-816"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadGeometry_X_Y_Z_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-817"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-818"></a>    <span class="c">!&lt; Read X_Y_Z R4P Geometry</span>
<a name="ln-819"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-820"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-821"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">X</span><span class="p">(:)</span>             <span class="c">!&lt; X R4P grid geometry coordinates</span>
<a name="ln-822"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Y</span><span class="p">(:)</span>             <span class="c">!&lt; Y R4P grid geometry coordinates</span>
<a name="ln-823"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Z</span><span class="p">(:)</span>             <span class="c">!&lt; Z R4P grid geometry coordinates</span>
<a name="ln-824"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-825"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-826"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_REAd</span><span class="p">)</span>
<a name="ln-827"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-828"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-829"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span> <span class="o">=</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-830"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-831"></a>        <span class="k">else</span>
<a name="ln-832"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span> <span class="o">=</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-833"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-834"></a>        <span class="n">endif</span>
<a name="ln-835"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-836"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadGeometry_X_Y_Z_R4P</span>
<a name="ln-837"></a>
<a name="ln-838"></a>
<a name="ln-839"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadGeometry_X_Y_Z_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-840"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-841"></a>    <span class="c">!&lt; Read X_Y_Z R8P Geometry</span>
<a name="ln-842"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-843"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-844"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">X</span><span class="p">(:)</span>             <span class="c">!&lt; X R8P grid geometry coordinates</span>
<a name="ln-845"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Y</span><span class="p">(:)</span>             <span class="c">!&lt; Y R8P grid geometry coordinates</span>
<a name="ln-846"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Z</span><span class="p">(:)</span>             <span class="c">!&lt; Z R8P grid geometry coordinates</span>
<a name="ln-847"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-848"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-849"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-850"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-851"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-852"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span> <span class="o">=</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-853"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-854"></a>        <span class="k">else</span>
<a name="ln-855"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span> <span class="o">=</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-856"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">X</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-857"></a>        <span class="n">endif</span>
<a name="ln-858"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-859"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadGeometry_X_Y_Z_R8P</span>
<a name="ln-860"></a>
<a name="ln-861"></a>
<a name="ln-862"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadGeometry_DXDYDZ_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-863"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-864"></a>    <span class="c">!&lt; Read DXDYDZ R4P Geometry</span>
<a name="ln-865"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-866"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-867"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Origin</span><span class="p">(:)</span>        <span class="c">!&lt; Origin of the grid coordinates</span>
<a name="ln-868"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">DxDyDz</span><span class="p">(:)</span>        <span class="c">!&lt; Step to the next point of the grid</span>
<a name="ln-869"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-870"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-871"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-872"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-873"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-874"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">Origin</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span> <span class="o">=</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-875"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-876"></a>        <span class="k">else</span>
<a name="ln-877"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">Origin</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span> <span class="o">=</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-878"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-879"></a>        <span class="n">endif</span>
<a name="ln-880"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-881"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadGeometry_DXDYDZ_R4P</span>
<a name="ln-882"></a>
<a name="ln-883"></a>
<a name="ln-884"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadGeometry_DXDYDZ_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-885"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-886"></a>    <span class="c">!&lt; Read DXDYDZ R8P Geometry</span>
<a name="ln-887"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-888"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; XH5For derived type</span>
<a name="ln-889"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Origin</span><span class="p">(:)</span>        <span class="c">!&lt; Origin of the grid coordinates</span>
<a name="ln-890"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>     <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">DxDyDz</span><span class="p">(:)</span>        <span class="c">!&lt; Step to the next point of the grid</span>
<a name="ln-891"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>             <span class="c">!&lt; Geometry dataset name</span>
<a name="ln-892"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-893"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-894"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-895"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-896"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">Origin</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span> <span class="o">=</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-897"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-898"></a>        <span class="k">else</span>
<a name="ln-899"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadGeometry</span><span class="p">(</span><span class="n">Origin</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span> <span class="o">=</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-900"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetGeometry</span><span class="p">(</span><span class="n">XYZ</span> <span class="o">=</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Coordinates&#39;</span><span class="p">)</span>
<a name="ln-901"></a>        <span class="n">endif</span>
<a name="ln-902"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-903"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadGeometry_DXDYDZ_R8P</span>
<a name="ln-904"></a>
<a name="ln-905"></a>
<a name="ln-906"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteTopology_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-907"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-908"></a>    <span class="c">!&lt; Write I4P Topology</span>
<a name="ln-909"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-910"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>              <span class="c">!&lt; XH5For derived type</span>
<a name="ln-911"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>               <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Connectivities</span><span class="p">(:)</span> <span class="c">!&lt; I4P grid topology connectivities</span>
<a name="ln-912"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>              <span class="c">!&lt; Topology dataset name</span>
<a name="ln-913"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-914"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-915"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-916"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-917"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-918"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-919"></a>        <span class="k">else</span>
<a name="ln-920"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Connectivities&#39;</span><span class="p">)</span>
<a name="ln-921"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Connectivities&#39;</span><span class="p">)</span>
<a name="ln-922"></a>        <span class="n">endif</span>
<a name="ln-923"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-924"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteTopology_I4P</span>
<a name="ln-925"></a>
<a name="ln-926"></a>
<a name="ln-927"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteTopology_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-928"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-929"></a>    <span class="c">!&lt; Write I8P Topology</span>
<a name="ln-930"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-931"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>              <span class="c">!&lt; XH5For derived type</span>
<a name="ln-932"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>               <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Connectivities</span><span class="p">(:)</span> <span class="c">!&lt; I8P grid topology connectivities</span>
<a name="ln-933"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>              <span class="c">!&lt; Topology dataset name</span>
<a name="ln-934"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-935"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-936"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-937"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-938"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-939"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-940"></a>        <span class="k">else</span>
<a name="ln-941"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Connectivities&#39;</span><span class="p">)</span>
<a name="ln-942"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Connectivities&#39;</span><span class="p">)</span>
<a name="ln-943"></a>        <span class="n">endif</span>
<a name="ln-944"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-945"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteTopology_I8P</span>
<a name="ln-946"></a>
<a name="ln-947"></a>
<a name="ln-948"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadTopology_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-949"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-950"></a>    <span class="c">!&lt; Read I4P Topology</span>
<a name="ln-951"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-952"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>              <span class="c">!&lt; XH5For derived type</span>
<a name="ln-953"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Connectivities</span><span class="p">(:)</span> <span class="c">!&lt; I4P grid topology connectivities</span>
<a name="ln-954"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span><span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>              <span class="c">!&lt; Topology dataset name</span>
<a name="ln-955"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-956"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-957"></a><span class="c">!        if(this%SpatialGridDescriptor%isStaticGrid()) call this%LightData%ParseSpatialFile(FirstStep=.true.)</span>
<a name="ln-958"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-959"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-960"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-961"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-962"></a>        <span class="k">else</span>
<a name="ln-963"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Connectivities&#39;</span><span class="p">)</span>
<a name="ln-964"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Connectivities&#39;</span><span class="p">)</span>
<a name="ln-965"></a>        <span class="n">endif</span>
<a name="ln-966"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-967"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadTopology_I4P</span>
<a name="ln-968"></a>
<a name="ln-969"></a>
<a name="ln-970"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadTopology_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-971"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-972"></a>    <span class="c">!&lt; Read I8P Topology</span>
<a name="ln-973"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-974"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>              <span class="c">!&lt; XH5For derived type</span>
<a name="ln-975"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span>  <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Connectivities</span><span class="p">(:)</span> <span class="c">!&lt; I8P grid topology connectivities</span>
<a name="ln-976"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>              <span class="c">!&lt; Topology dataset name</span>
<a name="ln-977"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-978"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-979"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">(</span><span class="n">GridData</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.)</span>
<a name="ln-980"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Name</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-981"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-982"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-983"></a>        <span class="k">else</span>
<a name="ln-984"></a><span class="k">            call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Connectivities&#39;</span><span class="p">)</span>
<a name="ln-985"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">SetTopology</span><span class="p">(</span><span class="n">Connectivities</span> <span class="o">=</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span> <span class="o">=</span> <span class="s1">&#39;Connectivities&#39;</span><span class="p">)</span>
<a name="ln-986"></a>        <span class="n">endif</span>
<a name="ln-987"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-988"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadTopology_I8P</span>
<a name="ln-989"></a>
<a name="ln-990"></a>
<a name="ln-991"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteAttribute_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-992"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-993"></a>    <span class="c">!&lt; Write I4P Attribute</span>
<a name="ln-994"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-995"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                        <span class="c">!&lt; XH5For derived type</span>
<a name="ln-996"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span><span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>                        <span class="c">!&lt; Attribute name</span>
<a name="ln-997"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Type</span>                        <span class="c">!&lt; Attribute type (Scalar, Vector, etc.)</span>
<a name="ln-998"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Center</span>                      <span class="c">!&lt; Attribute centered at (Node, Cell, etc.)</span>
<a name="ln-999"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Values</span><span class="p">(:)</span>                   <span class="c">!&lt; I4P grid attribute values</span>
<a name="ln-1000"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-1001"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-1002"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">AppendAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Attribute</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1003"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">()</span>
<a name="ln-1004"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1005"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-1006"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteAttribute_I4P</span>
<a name="ln-1007"></a>
<a name="ln-1008"></a>
<a name="ln-1009"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteAttribute_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1010"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1011"></a>    <span class="c">!&lt; Write I4P Attribute</span>
<a name="ln-1012"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1013"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                        <span class="c">!&lt; XH5For derived type</span>
<a name="ln-1014"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span><span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>                        <span class="c">!&lt; Attribute name</span>
<a name="ln-1015"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Type</span>                        <span class="c">!&lt; Attribute type (Scalar, Vector, etc.)</span>
<a name="ln-1016"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Center</span>                      <span class="c">!&lt; Attribute centered at (Node, Cell, etc.)</span>
<a name="ln-1017"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Values</span><span class="p">(:)</span>                   <span class="c">!&lt; I8P grid attribute values</span>
<a name="ln-1018"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-1019"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-1020"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">AppendAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Attribute</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1021"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">()</span>
<a name="ln-1022"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1023"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-1024"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteAttribute_I8P</span>
<a name="ln-1025"></a>
<a name="ln-1026"></a>
<a name="ln-1027"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteAttribute_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1028"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1029"></a>    <span class="c">!&lt; Write I4P Attributed</span>
<a name="ln-1030"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1031"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                        <span class="c">!&lt; XH5For derived type</span>
<a name="ln-1032"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span><span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>                        <span class="c">!&lt; Attribute name</span>
<a name="ln-1033"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Type</span>                        <span class="c">!&lt; Attribute type (Scalar, Vector, etc.)</span>
<a name="ln-1034"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Center</span>                      <span class="c">!&lt; Attribute centered at (Node, Cell, etc.)</span>
<a name="ln-1035"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Values</span><span class="p">(:)</span>                   <span class="c">!&lt; R4P grid attribute values</span>
<a name="ln-1036"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-1037"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-1038"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">AppendAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Attribute</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1039"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">()</span>
<a name="ln-1040"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1041"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-1042"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteAttribute_R4P</span>
<a name="ln-1043"></a>
<a name="ln-1044"></a>
<a name="ln-1045"></a>    <span class="k">subroutine </span><span class="n">xh5for_WriteAttribute_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1046"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1047"></a>    <span class="c">!&lt; Write I4P Attribute</span>
<a name="ln-1048"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1049"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                        <span class="c">!&lt; XH5For derived type</span>
<a name="ln-1050"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span><span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>                        <span class="c">!&lt; Attribute name</span>
<a name="ln-1051"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Type</span>                        <span class="c">!&lt; Attribute type (Scalar, Vector, etc.)</span>
<a name="ln-1052"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Center</span>                      <span class="c">!&lt; Attribute centered at (Node, Cell, etc.)</span>
<a name="ln-1053"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Values</span><span class="p">(:)</span>                   <span class="c">!&lt; R8P grid attribute values</span>
<a name="ln-1054"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-1055"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-1056"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">AppendAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Attribute</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1057"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">()</span>
<a name="ln-1058"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">WriteAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1059"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-1060"></a>    <span class="k">end subroutine </span><span class="n">xh5for_WriteAttribute_R8P</span>
<a name="ln-1061"></a>
<a name="ln-1062"></a>
<a name="ln-1063"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadAttribute_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1064"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1065"></a>    <span class="c">!&lt; Read I4P Attribute</span>
<a name="ln-1066"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1067"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>              <span class="c">!&lt; XH5For derived type</span>
<a name="ln-1068"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>              <span class="c">!&lt; Attribute name</span>
<a name="ln-1069"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Type</span>              <span class="c">!&lt; Attribute type (Scalar, Vector, etc.)</span>
<a name="ln-1070"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Center</span>            <span class="c">!&lt; Attribute centered at (Node, Cell, etc.)</span>
<a name="ln-1071"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Values</span><span class="p">(:)</span>         <span class="c">!&lt; I4P grid attribute values</span>
<a name="ln-1072"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-1073"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-1074"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">()</span>
<a name="ln-1075"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1076"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">AppendAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Attribute</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1077"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-1078"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadAttribute_I4P</span>
<a name="ln-1079"></a>
<a name="ln-1080"></a>
<a name="ln-1081"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadAttribute_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1082"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1083"></a>    <span class="c">!&lt; Read I8P Attribute</span>
<a name="ln-1084"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1085"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>              <span class="c">!&lt; XH5For derived type</span>
<a name="ln-1086"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>              <span class="c">!&lt; Attribute name</span>
<a name="ln-1087"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Type</span>              <span class="c">!&lt; Attribute type (Scalar, Vector, etc.)</span>
<a name="ln-1088"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Center</span>            <span class="c">!&lt; Attribute centered at (Node, Cell, etc.)</span>
<a name="ln-1089"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Values</span><span class="p">(:)</span>         <span class="c">!&lt; I8P grid attribute values</span>
<a name="ln-1090"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-1091"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-1092"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">()</span>
<a name="ln-1093"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1094"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">AppendAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Attribute</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1095"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-1096"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadAttribute_I8P</span>
<a name="ln-1097"></a>
<a name="ln-1098"></a>
<a name="ln-1099"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadAttribute_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1100"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1101"></a>    <span class="c">!&lt; Read R4P Attribute</span>
<a name="ln-1102"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1103"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>        <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                 <span class="c">!&lt; XH5For derived type</span>
<a name="ln-1104"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>                 <span class="c">!&lt; Attribute name</span>
<a name="ln-1105"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Type</span>                 <span class="c">!&lt; Attribute type (Scalar, Vector, etc.)</span>
<a name="ln-1106"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Center</span>               <span class="c">!&lt; Attribute centered at (Node, Cell, etc.)</span>
<a name="ln-1107"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Values</span><span class="p">(:)</span>            <span class="c">!&lt; R4P grid attribute values</span>
<a name="ln-1108"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-1109"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-1110"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">()</span>
<a name="ln-1111"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1112"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">AppendAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Attribute</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1113"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-1114"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadAttribute_R4P</span>
<a name="ln-1115"></a>
<a name="ln-1116"></a>
<a name="ln-1117"></a>    <span class="k">subroutine </span><span class="n">xh5for_ReadAttribute_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1118"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1119"></a>    <span class="c">!&lt; Read R8P Attribute</span>
<a name="ln-1120"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-1121"></a>        <span class="k">class</span><span class="p">(</span><span class="n">xh5for_t</span><span class="p">),</span>        <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                 <span class="c">!&lt; XH5For derived type</span>
<a name="ln-1122"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Name</span>                 <span class="c">!&lt; Attribute name</span>
<a name="ln-1123"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Type</span>                 <span class="c">!&lt; Attribute type (Scalar, Vector, etc.)</span>
<a name="ln-1124"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Center</span>               <span class="c">!&lt; Attribute centered at (Node, Cell, etc.)</span>
<a name="ln-1125"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Values</span><span class="p">(:)</span>            <span class="c">!&lt; R8P grid attribute values</span>
<a name="ln-1126"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-1127"></a>        <span class="n">assert</span><span class="p">((</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_SET</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">XH5FOR_STATE_GRID_IO</span><span class="p">)</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">==</span> <span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-1128"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CheckOpenHeavyDataFile</span><span class="p">()</span>
<a name="ln-1129"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">HeavyData</span><span class="p">%</span><span class="n">ReadAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1130"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">LightData</span><span class="p">%</span><span class="n">AppendAttribute</span><span class="p">(</span><span class="n">Name</span> <span class="o">=</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span> <span class="o">=</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span> <span class="o">=</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Attribute</span> <span class="o">=</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-1131"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">XH5FOR_STATE_GRID_IO</span>
<a name="ln-1132"></a>    <span class="k">end subroutine </span><span class="n">xh5for_ReadAttribute_R8P</span>
<a name="ln-1133"></a>
<a name="ln-1134"></a><span class="k">end module </span><span class="n">xh5for_handler</span>
<a name="ln-1135"></a>
<a name="ln-1136"></a><span class="k">module </span><span class="n">xh5for</span>
<a name="ln-1137"></a>
<a name="ln-1138"></a><span class="k">use </span><span class="n">xh5for_handler</span><span class="p">,</span> <span class="n">only</span><span class="p">:</span> <span class="n">xh5for_t</span>
<a name="ln-1139"></a><span class="k">use </span><span class="n">xh5for_parameters</span>
<a name="ln-1140"></a>
<a name="ln-1141"></a><span class="k">end module  </span><span class="n">xh5for</span>
</pre></div>

    </section>
    </div>
  </div>

  <section class="visible-xs visible-sm hidden-md">
    <hr>
    

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-1">All Source Files</a></h3></div>
  <div id="allfiles-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


  </section>
  
    <hr>    
    </div> <!-- /container -->
    <footer>
      <div class="container">
      <div class="row">
        <div class="col-xs-6 col-md-4"><p>&copy; 2016 </p></div>
        <div class="col-xs-6 col-md-4 col-md-push-4">
          <p class="text-right">
            Documentation generated by 
            <a href="https://github.com/cmacmackin/ford">FORD</a>
             on 2016-11-08T12:24:53.235950 
          </p>
        </div>
        <div class="col-xs-12 col-md-4 col-md-pull-4"><p class="text-center"> XH5For was developed by Víctor Sande Veiga</p></div>
      </div>
      <br>
      </div> <!-- /container -->    
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
<!--
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
-->
    <script src="../js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../js/ie10-viewport-bug-workaround.js"></script>

    <!-- MathJax JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } },
        jax: ['input/TeX','input/MathML','output/HTML-CSS'],
        extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js'],
        'HTML-CSS': { 
           styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: '#000000 ! important'} }
        }
      });
    </script>
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    
    <script src="../tipuesearch/tipuesearch_content.js"></script>
    <link  href="../tipuesearch/tipuesearch.css" rel="stylesheet">
    <script src="../tipuesearch/tipuesearch_set.js"></script>
    <script src="../tipuesearch/tipuesearch.js"></script>
    
    
  </body>
</html>